From: Gianfranco Costamagna Date: Fri, 17 Apr 2026 12:34:10 +0000 (+0200) Subject: Import libpng1.6_1.6.58-1.debian.tar.xz X-Git-Tag: archive/raspbian/1.6.58-1+rpi1^2~2^2 X-Git-Url: https://dgit.raspbian.org/%22http://www.example.com/cgi/%22/%22http:/www.example.com/cgi/%22?a=commitdiff_plain;h=f37e49f757cbfcf090d04a615d54152aa0011f20;p=libpng1.6.git Import libpng1.6_1.6.58-1.debian.tar.xz [dgit import tarball libpng1.6 1.6.58-1 libpng1.6_1.6.58-1.debian.tar.xz] --- f37e49f757cbfcf090d04a615d54152aa0011f20 diff --git a/changelog b/changelog new file mode 100644 index 0000000..7689de4 --- /dev/null +++ b/changelog @@ -0,0 +1,1945 @@ +libpng1.6 (1.6.58-1) unstable; urgency=medium + + * New upstream version 1.6.58 + - Fix regression in 1.6.57 + + -- Gianfranco Costamagna Fri, 17 Apr 2026 14:34:10 +0200 + +libpng1.6 (1.6.57-1) unstable; urgency=medium + + * New upstream version 1.6.57 + - CVE-2026-34757 - heap information disclosure (Closes: #1133051) + + -- Gianfranco Costamagna Sun, 12 Apr 2026 18:08:25 +0200 + +libpng1.6 (1.6.56-1) unstable; urgency=high + + * New upstream release 1.6.56 + - CVE-2026-33416 - Use after free (Closes: #1132012) + - CVE-2026-33636 - OOB read/write (Closes: #1132013) + + -- Tobias Frost Sun, 29 Mar 2026 08:36:13 +0200 + +libpng1.6 (1.6.55-1) unstable; urgency=medium + + * New upstream version 1.6.55 + - CVE-2026-25646 (Closes: #1127566) + * Bump std-version to 4.7.3, no changes required + * Drop R^3: no, default now + + -- Gianfranco Costamagna Thu, 12 Feb 2026 10:55:21 +0100 + +libpng1.6 (1.6.54-1) unstable; urgency=medium + + * New upstream version 1.6.54. + - CVE-2026-22695 - Heap buffer overread. Closes: #1125443 + - CVE-2026-22801 - Heap buffer overread. Closes: #1125444 + * Bump d/copyright years. + + -- Tobias Frost Fri, 16 Jan 2026 08:49:40 +0100 + +libpng1.6 (1.6.53-1) unstable; urgency=medium + + * New upstream version 1.6.53. + + -- Tobias Frost Sun, 07 Dec 2025 11:32:41 +0100 + +libpng1.6 (1.6.52-1) unstable; urgency=medium + + * New upstream versoin 1.6.52 + - CVE-2025-66293 - Out of bound read (Closes: #1121877) + + -- Tobias Frost Thu, 04 Dec 2025 06:24:43 +0100 + +libpng1.6 (1.6.51-1) unstable; urgency=high + + * New upstream version 1.6.51. + - CVE-2025-64505 - Heap buffer overflow. Closes: #1121219 + - CVE-2025-64506 - Heap buffer overread. Closes: #1121218 + - CVE-2025-64720 - Buffer overflow. Closes: #1121217 + - CVE-2025-65018 - Heap buffer. Closes: #1121216 + * Enable salsa-ci. + * Update d/copyright years, remove unused section. + * udeb: install library into usr/lib + + -- Tobias Frost Mon, 24 Nov 2025 21:06:25 +0100 + +libpng1.6 (1.6.50-1) unstable; urgency=medium + + * Upload to sid + + -- Gianfranco Costamagna Sun, 10 Aug 2025 18:09:08 +0200 + +libpng1.6 (1.6.50-1~exp1) experimental; urgency=medium + + * New upstream version 1.6.50 + + -- Gianfranco Costamagna Sun, 10 Aug 2025 18:08:25 +0200 + +libpng1.6 (1.6.49-1~exp1) experimental; urgency=medium + + * New upstream version 1.6.49 + * Update copyright file + + -- Gianfranco Costamagna Sun, 15 Jun 2025 11:32:25 +0200 + +libpng1.6 (1.6.48-1) unstable; urgency=medium + + * New upstream version 1.6.48 + * Ack previous NMU, thanks a lot! + + -- Gianfranco Costamagna Mon, 05 May 2025 21:11:18 +0200 + +libpng1.6 (1.6.47-1.1) unstable; urgency=high + + * Non-maintainer upload. + * Restore dh_makeshlibs override to fix missing udeb line in shlibs. + (Closes: #1100477) + + -- Cyril Brulebois Fri, 14 Mar 2025 10:39:59 +0100 + +libpng1.6 (1.6.47-1) unstable; urgency=medium + + * New upstream version 1.6.47 + + -- Gianfranco Costamagna Fri, 21 Feb 2025 08:01:34 +0100 + +libpng1.6 (1.6.46-4) unstable; urgency=medium + + * Team upload. + + [ Jeremy Bícha ] + * Set dpkg-gensymbols check level to 4 + + -- Gianfranco Costamagna Sat, 01 Feb 2025 18:23:23 +0100 + +libpng1.6 (1.6.46-3) unstable; urgency=medium + + * Add a symbols file for easier maintenance of the package + and added symbols + + -- Gianfranco Costamagna Sat, 01 Feb 2025 08:12:46 +0100 + +libpng1.6 (1.6.46-2) unstable; urgency=medium + + * Bump shlibs to 1.6.45 due to gtk4 test regression in cICP + https://gitlab.gnome.org/GNOME/gtk/-/issues/7275 + (Closes: #1093335) + + -- Gianfranco Costamagna Fri, 31 Jan 2025 15:10:07 +0100 + +libpng1.6 (1.6.46-1) unstable; urgency=medium + + * New upstream version 1.6.46 + + -- Gianfranco Costamagna Mon, 27 Jan 2025 09:30:18 +0100 + +libpng1.6 (1.6.45-1) unstable; urgency=medium + + * New upstream version 1.6.45 + * Refresh libpng-config.patch + * Update copyright years + + -- Gianfranco Costamagna Wed, 08 Jan 2025 20:56:30 +0100 + +libpng1.6 (1.6.44-3) unstable; urgency=medium + + [ Gianfranco Costamagna ] + * Team upload + + [ Helmut Grohne ] + * Disable VSX on legacy powerpc CPUs. (Closes: #1086389) + + -- Gianfranco Costamagna Tue, 10 Dec 2024 22:41:38 +0100 + +libpng1.6 (1.6.44-2) unstable; urgency=low + + * Switch packaging to cmake + + -- Gianfranco Costamagna Tue, 17 Sep 2024 11:37:20 +0200 + +libpng1.6 (1.6.44-1) unstable; urgency=medium + + * New upstream version 1.6.44 + * Update copyright file + * Bump std-version to 4.7.0 + * Relax dependency on dpkg-dev, to ease backports + + -- Gianfranco Costamagna Tue, 17 Sep 2024 09:56:14 +0200 + +libpng1.6 (1.6.43-5) unstable; urgency=medium + + * Fixup doc-base path (Closes: #1065063) + + -- Gianfranco Costamagna Thu, 28 Mar 2024 15:43:50 +0100 + +libpng1.6 (1.6.43-4) unstable; urgency=medium + + * Fixup udeb naming on shlibs file, making it installable again. + (Closes: #1066069) + + -- Gianfranco Costamagna Thu, 28 Mar 2024 12:38:28 +0100 + +libpng1.6 (1.6.43-3) unstable; urgency=medium + + * B-D on dpkg-dev (>= 1.22.5) (Closes: #1065259) + + -- Gianfranco Costamagna Sat, 02 Mar 2024 11:18:15 +0100 + +libpng1.6 (1.6.43-2) unstable; urgency=medium + + * Upload to sid + + -- Gianfranco Costamagna Wed, 28 Feb 2024 12:12:53 +0100 + +libpng1.6 (1.6.43-1exp1) experimental; urgency=medium + + [ Steve Langasek ] + * Rename libraries for 64-bit time_t transition. + + -- Gianfranco Costamagna Mon, 26 Feb 2024 15:47:33 +0100 + +libpng1.6 (1.6.43-1) unstable; urgency=medium + + * New upstream version 1.6.43 + * Add new license for contrib tool + + -- Gianfranco Costamagna Mon, 26 Feb 2024 15:44:38 +0100 + +libpng1.6 (1.6.42-1) unstable; urgency=medium + + * New upstream version 1.6.42 + * Update metadata location + + -- Gianfranco Costamagna Tue, 30 Jan 2024 09:03:50 +0100 + +libpng1.6 (1.6.41-1) unstable; urgency=medium + + * New upstream version 1.6.41 + * Bump copyright years + * Bump upstream copyright years + + -- Gianfranco Costamagna Mon, 29 Jan 2024 17:49:45 +0100 + +libpng1.6 (1.6.40-3) unstable; urgency=medium + + * Update watch file for new github pnggroup location. + + -- Gianfranco Costamagna Wed, 03 Jan 2024 01:37:41 +0100 + +libpng1.6 (1.6.40-2) unstable; urgency=medium + + * bump std-version to 4.6.2 + * Bump copyright years + + [ Mathieu Malaterre ] + * Drop revision from symbols file (Closes: #1053753) + + -- Gianfranco Costamagna Tue, 10 Oct 2023 17:54:45 +0200 + +libpng1.6 (1.6.40-1) unstable; urgency=medium + + * New upstream version 1.6.40 + + -- Gianfranco Costamagna Sat, 24 Jun 2023 23:08:19 +0200 + +libpng1.6 (1.6.39-2) unstable; urgency=medium + + [ Helmut Grohne ] + * Support the noudeb build profile. (Closes: #1024944) + + [ Gianfranco Costamagna ] + * Upload to sid + + -- Helmut Grohne Sun, 27 Nov 2022 20:59:26 +0100 + +libpng1.6 (1.6.39-1) unstable; urgency=medium + + * New upstream version 1.6.39. Fixes CVE-2019-6129. + + -- Gianfranco Costamagna Sat, 26 Nov 2022 15:21:15 +0100 + +libpng1.6 (1.6.38-2) unstable; urgency=medium + + * Add manpages to build + + -- Gianfranco Costamagna Wed, 21 Sep 2022 14:46:45 +0200 + +libpng1.6 (1.6.38-1) unstable; urgency=medium + + * New upstream version 1.6.38 + * Drop all patches, now upstream + * Refactor copyright file and bump copyright years + * Drop as-needed flag, now default + * Add not-installed file + * Move installexamples to libpng-dev.examples file + + -- Gianfranco Costamagna Wed, 21 Sep 2022 12:36:17 +0200 + +libpng1.6 (1.6.37-5) unstable; urgency=medium + + * debian/patches/eb6767273a4eb5d6f4ad528370d7262cf7aa220c.patch: + - cherry-pick upstream fix for memory lieak in png_handle_eXIf function + (LP: #1960326) + + -- Gianfranco Costamagna Mon, 25 Apr 2022 19:29:57 +0200 + +libpng1.6 (1.6.37-4) unstable; urgency=medium + + * Drop apng support, seems to break chromium ability to open + apng files (Closes: #1005850). + + -- Gianfranco Costamagna Fri, 22 Apr 2022 18:48:37 +0200 + +libpng1.6 (1.6.37-3) unstable; urgency=medium + + [ Debian Janitor ] + * Wrap long lines in changelog entries: 1.2.5-5. + + [ Gianfranco Costamagna ] + * debian/patches/326.patch: + - add upstream proposed patch to fix a decode fail with invalid eXIf + chunks (Closes: #969502) + + -- Gianfranco Costamagna Wed, 16 Sep 2020 08:02:32 +0200 + +libpng1.6 (1.6.37-2) unstable; urgency=medium + + [ Debian Janitor ] + * Set upstream metadata fields: Bug-Database, Repository, Repository- + Browse. + * Rely on pre-initialized dpkg-architecture variables. + * Fix day-of-week for changelog entry 1.0.0-0.1. + * Set upstream metadata fields: Bug-Submit. + + [ Gianfranco Costamagna ] + * Bump std-version to 4.5.0, no changes required + + -- Gianfranco Costamagna Fri, 07 Feb 2020 20:00:13 +0100 + +libpng1.6 (1.6.37-1) unstable; urgency=medium + + * Upload to unstable + + -- Gianfranco Costamagna Tue, 02 Jul 2019 09:38:43 +0200 + +libpng1.6 (1.6.37-1~exp4) experimental; urgency=medium + + * debian/patches/72fa126446460347a504f3d9b90f24aed1365595.patch: + - cherry-pick upstream possible fix for tests not being parallel-safe + (Closes: #920657) + + -- Gianfranco Costamagna Tue, 23 Apr 2019 18:04:43 +0200 + +libpng1.6 (1.6.37-1~exp3) experimental; urgency=medium + + * Fix two lintian warnings: + - drop upstream signing key, upstream seems to have stopped tarball + signatures when moved to github (see upstream issue: #287) + - double "version" tag in debian/watch + + -- Gianfranco Costamagna Tue, 23 Apr 2019 13:15:04 +0200 + +libpng1.6 (1.6.37-1~exp2) experimental; urgency=medium + + * Simplify tests, by not passing the .libs directory during their + execution + + -- Gianfranco Costamagna Mon, 15 Apr 2019 12:34:29 +0200 + +libpng1.6 (1.6.37-1~exp1) experimental; urgency=medium + + * New upstream version 1.6.37 + - upload to experimental because of freeze + * Update watch file for github publish site + * Update copyright years and text for pngminus + * Drop all upstream patches, patch refresh for apng patch + * Bump compat level to 12 + + -- Gianfranco Costamagna Mon, 15 Apr 2019 10:36:39 +0200 + +libpng1.6 (1.6.36-6) unstable; urgency=medium + + * Upload to unstable + + -- Gianfranco Costamagna Mon, 08 Apr 2019 10:55:25 +0200 + +libpng1.6 (1.6.36-5exp1) experimental; urgency=medium + + * Drop Anibal from uploaders list, + thank you for your nice work! (Closes: #925014) + * Update copyright years. + * Drop patch 272.patch, superseeded by upstream commits: + 70d122aac42933ab8a708c538f973c3307853212.patch (uncommented) + 82ae623ec9bc3cb5c68aad22596a766e86d593b7.patch + a627bd26a375f5c41d54f90a47c838157d1bec97.patch + + -- Gianfranco Costamagna Wed, 20 Mar 2019 11:58:35 +0100 + +libpng1.6 (1.6.36-5) unstable; urgency=medium + + * Tweak old 272 patch to add the only relevant part of commit + 70d122aac42933ab8a708c538f973c3307853212.patch + * Drop 70d122aac42933ab8a708c538f973c3307853212.patch, it breaks the + testsuite. + + -- Gianfranco Costamagna Tue, 05 Feb 2019 12:54:50 +0100 + +libpng1.6 (1.6.36-4) unstable; urgency=high + + * debian/patches/70d122aac42933ab8a708c538f973c3307853212.patch, + debian/patches/8439534daa1d3a5705ba92e653eda9251246dd61.patch: + - new fixes for arm64 and general test failures (and leaks) + * debian/patches/CVE-2019-7317.patch: + - fix for CVE 2019-7317 (Closes: #921355) + Thanks Salvatore Bonaccorso for your report! + + -- Gianfranco Costamagna Tue, 05 Feb 2019 11:43:24 +0100 + +libpng1.6 (1.6.36-3) unstable; urgency=medium + + * debian/patches/272.patch: + - upstream fix for arm64 test failures. + - drop previous revert-* patches + + -- Gianfranco Costamagna Mon, 31 Dec 2018 09:24:07 +0100 + +libpng1.6 (1.6.36-2) unstable; urgency=medium + + * Update watch file for github location + * Add apng support, like what is done in arch linux + - https://github.com/glennrp/libpng/issues/267 + * d/p/revert-{7734cda20cf1236aef60f3bbd2267c97bbb40869, + 1ceaa83a844cd3ecef25279d60720f910b96f297, + b66ed711315c46ef6c556c83c0074ecdcbd9937f}.patch: + revert on arm64 only the chromebook optimizations, they are + making the build fail. + - discussion at https://github.com/glennrp/libpng/issues/266 + [ Mattia Rizzolo ] + * Fixup std-version numbering + + -- Gianfranco Costamagna Fri, 28 Dec 2018 14:13:52 +0100 + +libpng1.6 (1.6.36-1) unstable; urgency=medium + + * New upstream version 1.6.36 + * update copyright file + * Bump std-version to 4.3.0.1, no changes required + * drop patch 8a057: upstream + * Add nocheck profile in rules file + + [ Ondřej Nový ] + * d/changelog: Remove trailing whitespaces + + -- Gianfranco Costamagna Thu, 27 Dec 2018 13:47:10 +0100 + +libpng1.6 (1.6.34-2) unstable; urgency=medium + + [ Salvatore Bonaccorso ] + * debian/patches/8a05766cb74af05c04c53e6c9d60c13fc4d59bf2.patch: + Closes: #903430 + CVE-2018-13785 + + [ Gianfranco Costamagna ] + * Upload to unstable + * Switch VCS fields to salsa.d.o + * Bump std-version to 4.1.5, no changes required + * Switch copyright in https mode + + -- Gianfranco Costamagna Tue, 10 Jul 2018 13:17:30 +0200 + +libpng1.6 (1.6.34-1) unstable; urgency=medium + + * New upstream version 1.6.34 + * Remove files removed upstream (the failing png files) + + -- Gianfranco Costamagna Fri, 29 Sep 2017 18:54:51 +0200 + +libpng1.6 (1.6.33-1) unstable; urgency=medium + + * New upstream version 1.6.33 + * Drop idat patch: upstream + * Update copyright + * Bump std-version to 4.1.1 + * Remove some new test png files that make testsuite fail + (they fail also on older libpng version, just they weren't available + status is tracked at https://sourceforge.net/p/libpng/bugs/271/ ) + + -- Gianfranco Costamagna Fri, 29 Sep 2017 08:44:54 +0200 + +libpng1.6 (1.6.32-3) unstable; urgency=high + + * Fix invalid IDAT images, thanks Felix Geyer for the debug/bug reassign! + (Closes: #876563) + + -- Gianfranco Costamagna Tue, 26 Sep 2017 10:15:08 +0200 + +libpng1.6 (1.6.32-2) unstable; urgency=medium + + * Bump std-version to 4.1.0, now priority is extra + * Add missing newline on copyright entry, making lintian sad + * Move the examples into the main libpng-dev (Closes: #876244) + - thanks Helmut Grohne for the useful bug report! + + -- Gianfranco Costamagna Sun, 17 Sep 2017 10:37:44 +0200 + +libpng1.6 (1.6.32-1) unstable; urgency=medium + + * New upstream version 1.6.32 + * Update copyright file + + -- Gianfranco Costamagna Sat, 26 Aug 2017 23:43:31 +0200 + +libpng1.6 (1.6.31-1) unstable; urgency=medium + + * New upstream release. + * Update d/watch to point to ftp site and to verify gpg signature. + * fix-arm-build.patch removed, fixed upstream. + * Update d/copyright (years and add new maintainers) and remove some + redudant entries. + + -- Tobias Frost Fri, 04 Aug 2017 07:10:47 +0200 + +libpng1.6 (1.6.30-2) unstable; urgency=medium + + * Fix arm* build failures with upstream patch + (Closes: #867670) + + -- Gianfranco Costamagna Sun, 09 Jul 2017 01:02:17 +0200 + +libpng1.6 (1.6.30-1) unstable; urgency=medium + + * New upstream release. + * Update copyright + * Bump std-version to 4.0.0 + + -- Gianfranco Costamagna Sat, 08 Jul 2017 12:52:44 +0200 + +libpng1.6 (1.6.29-3) unstable; urgency=medium + + * Upload to unstable + + -- Gianfranco Costamagna Mon, 12 Jun 2017 11:22:51 +0200 + +libpng1.6 (1.6.29-2) experimental; urgency=medium + + * Enable PIE eveywhere + + -- Gianfranco Costamagna Sat, 22 Apr 2017 14:46:34 +0200 + +libpng1.6 (1.6.29-1) experimental; urgency=medium + + * New upstream release. + - Drop fix multiarch patch: upstream + * Use autoreconf. + + -- Gianfranco Costamagna Mon, 10 Apr 2017 08:39:26 +0200 + +libpng1.6 (1.6.28-1exp4) experimental; urgency=medium + + * Override autoreconf due to debhelper bug 844504 + + -- Gianfranco Costamagna Thu, 02 Mar 2017 16:29:47 +0100 + +libpng1.6 (1.6.28-1exp3) experimental; urgency=medium + + * No-autoreconf for cmake builds + + -- Gianfranco Costamagna Thu, 02 Mar 2017 16:14:47 +0100 + +libpng1.6 (1.6.28-1exp2) experimental; urgency=medium + + * Readd multiarch patch, it was merged by + upstream on master but not on 1.6 branch + + -- Gianfranco Costamagna Thu, 02 Mar 2017 15:07:10 +0100 + +libpng1.6 (1.6.28-1exp1) experimental; urgency=medium + + * Switch to cmake + + -- Gianfranco Costamagna Mon, 09 Jan 2017 19:53:06 +0100 + +libpng1.6 (1.6.28-1) unstable; urgency=medium + + * New upstream release. + + -- Gianfranco Costamagna Mon, 09 Jan 2017 19:50:31 +0100 + +libpng1.6 (1.6.27-1) unstable; urgency=medium + + * New upstream release (Closes: #849799) + - Fix for CVE-2016-10087 + + -- Gianfranco Costamagna Sat, 31 Dec 2016 08:51:32 +0100 + +libpng1.6 (1.6.26-6) unstable; urgency=medium + + * Enable pie in Debian, disable it in Ubuntu. + - thanks pochu :) + + -- Gianfranco Costamagna Thu, 08 Dec 2016 17:03:30 +0100 + +libpng1.6 (1.6.26-5) unstable; urgency=medium + + * Revert cmake switch, failing on arm64. + + -- Gianfranco Costamagna Wed, 07 Dec 2016 08:41:24 +0100 + +libpng1.6 (1.6.26-4) unstable; urgency=low + + * Upload to unstable. + * Disable pie where Ubuntu has not defaulted yet. + (armhf, arm64, powerpc) + + -- Gianfranco Costamagna Tue, 15 Nov 2016 20:50:40 +0100 + +libpng1.6 (1.6.26-3) experimental; urgency=medium + + * Switch to cmake. + + -- Gianfranco Costamagna Tue, 15 Nov 2016 20:50:40 +0100 + +libpng1.6 (1.6.26-2) unstable; urgency=medium + + * Enable full hardening (+pie) (Closes: #844429) + + -- Gianfranco Costamagna Tue, 15 Nov 2016 18:10:16 +0100 + +libpng1.6 (1.6.26-1) unstable; urgency=low + + * New upstream release. + * Switch to compat level 10 + - Drop autoreconf/parallel, automatically injected + + -- Gianfranco Costamagna Mon, 24 Oct 2016 19:36:32 +0200 + +libpng1.6 (1.6.25-2) unstable; urgency=medium + + * Mark the -tools package Multi-Arch: foreign. + (Closes: #840446). + Thanks Francois Gourget for the bug report! + + -- Gianfranco Costamagna Tue, 11 Oct 2016 19:13:50 +0200 + +libpng1.6 (1.6.25-1) unstable; urgency=medium + + * New upstream release. + + -- Gianfranco Costamagna Tue, 06 Sep 2016 12:29:51 +0200 + +libpng1.6 (1.6.24-2) unstable; urgency=medium + + * Stop providing pngcp, because a tool with the same + name is provided by pngtools (Closes: #834119, #834118). + - Consider re-enabling it if ineeded, but for now the + tool has no manpage and no help command. + - An alternative might be to make pngtools and libpng-tools + conflict each others. + + -- Gianfranco Costamagna Fri, 12 Aug 2016 10:35:50 +0200 + +libpng1.6 (1.6.24-1) unstable; urgency=medium + + * New upstream release. + - install also new pngcp tool in libpng-tools package. + + -- Gianfranco Costamagna Thu, 11 Aug 2016 23:14:13 +0200 + +libpng1.6 (1.6.23-1) unstable; urgency=medium + + * New upstream release. + + -- Gianfranco Costamagna Wed, 15 Jun 2016 16:41:46 +0200 + +libpng1.6 (1.6.22-1) unstable; urgency=medium + + * New upstream release. + - drop fix_define_PNG_READ_16_TO_8.patch: upstream + * Update copyright file. + + -- Gianfranco Costamagna Sun, 05 Jun 2016 23:41:22 +0200 + +libpng1.6 (1.6.21-5) unstable; urgency=medium + + * d/control: Add VCS-* to repository on collab-maint. + * Add patch to properly define PNG_READ_16_TO_8_SUPPORTED (Closes: #824014) + * Add d/gbp.conf to ensure signed tags. + + -- Tobias Frost Wed, 11 May 2016 19:30:16 +0200 + +libpng1.6 (1.6.21-4) unstable; urgency=medium + + * add libpng-config.patch from the old + src:libpng. + - disabling multiarch bits in libpng-config has + the "side-effect" to let us have a Multiarch libpng-dev package. + Closes: #822297 + * Make the libpng-dev package Multiarch ready. + + -- Gianfranco Costamagna Sat, 23 Apr 2016 09:04:06 +0200 + +libpng1.6 (1.6.21-3) unstable; urgency=medium + + [ Manuel A. Fernandez Montecelo ] + * Add hardening flags (excluding PIE. CLoses: #805822) + + [ Gianfranco Costamagna ] + * Drop useless pre-depends line. + + [ Bart Martens ] + * Fix watch file + + [ Laurent Bigonville ] + * Drop useless packages in Replaces field. (Closes: #820887) + + -- Gianfranco Costamagna Wed, 13 Apr 2016 08:49:30 +0200 + +libpng1.6 (1.6.21-2) unstable; urgency=medium + + * Upload to unstable. + * Add myself and Tobias to uploaders, as per maintainers + suggestion. + * Bump std-version to 3.9.8, no changes required. + + -- Gianfranco Costamagna Wed, 06 Apr 2016 17:26:38 +0200 + +libpng1.6 (1.6.21-1) experimental; urgency=medium + + * Team upload. + * New upstream release. + * Add upstream signing key + * Fix watch file. + * Update copyright file. + * Drop libpng16-devtools, useless and merged in libpng-dev. + (many packages relies on that script for building correctly) + - breaks + replaces accordingly. + * Remove multiarch -dev package + * Rename libpng16-tools to libpng-tools, there is no need of + strict versioning here. + * Install upstream changelog. + * Run upstream testsuite. + * Remove README.* files, useless now. + + -- Gianfranco Costamagna Thu, 31 Mar 2016 14:43:03 +0200 + +libpng1.6 (1.6.20-3) experimental; urgency=medium + + * Team upload + * Move libpng16-dev to libpng-dev, to ease next transitions. + * Drop conflicts against mzscheme, pngcrush, pngmeta, + povray-3.5, qemacs, some of them disappeared, some of + them have later versions already in old-oldstable. + * Simplify even more the packaging, probably fixing #813288 + * Fix symlinks, and two lintian errors: + - library-in-root-and-usr + - old-style-config-script-multiarch-path + (multiarch: no for libpng16-devtools) + * Update standard-version to 3.9.7, no changes required. + * Switch to dh-autoreconf (Closes: #813027) + * Remove libpng16-devtools circular dependency, recommend it instead. + * Fix duplicate description lintian warning + * Fix copyright lintian warnings + * Remove copyright.in file + * Use new plain dh calls in rules file + * Remove some old lintian overrides. + + -- Gianfranco Costamagna Wed, 16 Mar 2016 17:05:08 +0100 + +libpng1.6 (1.6.20-2) experimental; urgency=medium + + [ Tobias Frost ] + * libpng16-16-udeb should not Conflicts: libpng-12-0. + + [ Anibal Monsalve Salazar ] + * debhelper compat version is 9. + * debian/control: libpng16-devtools is "Multi-Arch: same". + + -- Anibal Monsalve Salazar Thu, 28 Jan 2016 10:33:54 +0000 + +libpng1.6 (1.6.20-1.1) experimental; urgency=medium + + * Non-maintainer upload. + * Preparation for the transition, going to experimental. + * Make libpng16-dev depend on libpng16-devtools to have libpng-config + pulled in automatically for reverse dependencies. + * Provide a so-name neutral devtools package + + -- Tobias Frost Sun, 24 Jan 2016 11:26:12 +0100 + +libpng1.6 (1.6.20-1) experimental; urgency=medium + + * New upstream release. + Fix CVE-2015-8472. + Closes: #810074. + * Use default options to compress. + Remove debian/source/options. + + -- Anibal Monsalve Salazar Thu, 07 Jan 2016 23:35:21 +0000 + +libpng1.6 (1.6.19-1) experimental; urgency=medium + + * New upstream release. + * Update lintian-overrides for 1.6.19. + + -- Nobuhiro Iwamatsu Wed, 18 Nov 2015 13:07:21 +0900 + +libpng1.6 (1.6.16-1) experimental; urgency=medium + + * New upstream release (Closes: #773823) + Fix CVE-2015-8540. + * Standards Version is 3.9.6. + * Update debian/copyright. + Add infomation of license for other all files. + * Update lintian-overrides for 1.6.16. + + -- Nobuhiro Iwamatsu Sat, 07 Mar 2015 18:33:32 +0900 + +libpng1.6 (1.6.10-2) experimental; urgency=low + + * Add libpng16-devtools package. + Move libpng-config to this package. + + -- Nobuhiro Iwamatsu Wed, 02 Apr 2014 09:16:13 +0900 + +libpng1.6 (1.6.10-1) experimental; urgency=low + + * New upstream release (Closes: #740585) + Fixed CVE-2014-0333. + * Update overrides files. + + -- Nobuhiro Iwamatsu Sat, 22 Mar 2014 09:58:12 +0900 + +libpng1.6 (1.6.8-2) experimental; urgency=low + + * Update debian/copyright. (Closes: #735737) + + -- Nobuhiro Iwamatsu Tue, 21 Jan 2014 08:59:56 +0900 + +libpng1.6 (1.6.8-1) experimental; urgency=low + + * New upstream release. + + -- Nobuhiro Iwamatsu Wed, 15 Jan 2014 13:10:28 +0900 + +libpng1.6 (1.6.7-1) experimental; urgency=low + + * New upstream release. + + -- Nobuhiro Iwamatsu Tue, 14 Jan 2014 15:21:52 +0900 + +libpng (1.5.11-1) experimental; urgency=low + + * New upstream release. + + -- Nobuhiro Iwamatsu Thu, 05 Jul 2012 13:18:14 +0900 + +libpng (1.5.10-3) experimental; urgency=low + + * Remove libpng12-dev binary package. libpng-dev provides and replaces + libpng12-dev. + + -- Anibal Monsalve Salazar Sat, 19 May 2012 18:55:25 +1000 + +libpng (1.5.10-2) experimental; urgency=low + + * Add transition packages libpng3, libpng12-0 and libpng12-dev + + -- Anibal Monsalve Salazar Fri, 18 May 2012 10:09:24 +1000 + +libpng (1.5.10-1) experimental; urgency=high + + * New upstream version 1.5.10 + - Fix CVE-2011-3048 (memory corruption flaw) + Closes: 667475 + * Standards Version is 3.9.3 + + -- Anibal Monsalve Salazar Mon, 09 Apr 2012 13:29:39 +1000 + +libpng (1.5.9-1) experimental; urgency=low + + * New upstream version 1.5.9 + + The purpose of this release is to fix the dangerous CVE-2011-3026. + The libpng patch is different from the one that was distributed + earlier by Chromium, in that the libpng user limit feature is not + crippled by the patch. + + Remove 02-660026-CVE-2011-3026.patch + + -- Anibal Monsalve Salazar Sun, 19 Feb 2012 12:22:43 +1100 + +libpng (1.5.8-1) experimental; urgency=high + + * New upstream release. + Fix a one-byte (stack) buffer-overrun bug in + png_formatted_warning(), which could lead to crashes (denial of + service) or, conceivably, execution of hostile code. + This vulnerability has been assigned ID CVE-2011-3464. + * Check for both truncation (64-bit platforms) and integer overflow + Fix CVE-2011-3026 + Add 02-660026-CVE-2011-3026.patch + Closes: 660026 + + -- Anibal Monsalve Salazar Thu, 16 Feb 2012 09:18:13 +1100 + +libpng (1.5.7-2) experimental; urgency=low + + * Fix typo from PPFLAGS to CPPFLAGS. + + -- Nobuhiro Iwamatsu Mon, 09 Jan 2012 21:39:33 +0900 + +libpng (1.5.7-1) experimental; urgency=low + + * New upstream release. + * Update debian/rules. + Enabled hardened build flags. (Closes: #654149) + + -- Nobuhiro Iwamatsu Mon, 09 Jan 2012 21:02:50 +0900 + +libpng (1.5.6-1) experimental; urgency=low + + * New upstream release. + + -- Nobuhiro Iwamatsu Mon, 07 Nov 2011 12:35:59 +0900 + +libpng (1.5.5-1) experimental; urgency=low + + * New upstream release. + * Fix lintian error: udeb-uses-non-gzip-data-tarball. + Changed option of dh_builddeb for every package. + * Fix lintian warning: brace-expansion-in-debhelper-config-file. + Remove brace-expansion from debian/libpng-dev.install. + + -- Nobuhiro Iwamatsu Wed, 26 Oct 2011 12:35:05 +0900 + +libpng (1.5.4-2) experimental; urgency=low + + * Port Steve Langasek's changes for 1.2.46-1 + - Build for multiarch. Closes: 634151 + - Drop debian/libpng15-15-udeb.dirs, which just adds a pointless empty + directory to the udeb + * Update debian/docs and debian/libpng15-15.docs + * Add debian/libpng15-15.doc-base + * Build-Depend on autotools-dev + + -- Anibal Monsalve Salazar Tue, 19 Jul 2011 00:49:57 +1000 + +libpng (1.2.46-2) unstable; urgency=low + + [ Steve Langasek ] + * Build for multiarch. Requires converting libpng3 from Arch: all to + Arch: any. Closes: 634151 + * Drop debian/libpng12-0-udeb.dirs, which just adds a pointless empty + directory to the udeb. + + [ Anibal Monsalve Salazar ] + * Fix doc-base file + Closes: 633944, 633957, 634120 + * Pass "-Zbzip2 -z9" to dpkg-deb + + -- Anibal Monsalve Salazar Mon, 18 Jul 2011 23:38:25 +1000 + +libpng (1.5.4-1) experimental; urgency=low + + * New upstream release (Closes: #633871). + - Fix CVE: CVE-2011-2690 + Buffer overwrite in png_rgb_to_gray + - CVE: CVE-2011-2691 + Crash in png_default_error due to use of NULL Pointer + - CVE: CVE-2011-2692 + Memory corruption when handling empty sCAL chunks + - Remove patches/02-632786-CVE-2011-2501.patch. Applied to upstream. + + -- Nobuhiro Iwamatsu Fri, 15 Jul 2011 12:01:42 +0900 + +libpng (1.2.46-1) unstable; urgency=high + + * New upstream release (Closes: #633871). + - Fix CVE: CVE-2011-2690 + Buffer overwrite in png_rgb_to_gray + - CVE: CVE-2011-2691 + Crash in png_default_error due to use of NULL Pointer + - CVE: CVE-2011-2692 + Memory corruption when handling empty sCAL chunks + - Update patches/01-legacy.patch + - Remove patches/02-632786-CVE-2011-2501.patch. Applied to upstream. + + -- Nobuhiro Iwamatsu Fri, 15 Jul 2011 11:47:49 +0900 + +libpng (1.5.2-3) experimental; urgency=low + + * Rename libpng15-dev to libpng-dev + + -- Anibal Monsalve Salazar Wed, 06 Jul 2011 13:14:03 +1000 + +libpng (1.5.2-2) experimental; urgency=low + + * Fix 1-byte uninitialized memory reference in png_format_buffer() + Fix CVE-2011-2501 + Add debian/patches/02-632786-CVE-2011-2501.patch + Closes: 632786 + * Pass "-Zbzip2 -z9" to dpkg-deb + * Fix xc-package-type-in-debian-control + * Fix debian-rules-missing-recommended-target + + -- Anibal Monsalve Salazar Wed, 06 Jul 2011 11:27:05 +1000 + +libpng (1.2.44-3) unstable; urgency=high + + * Fix 1-byte uninitialized memory reference in png_format_buffer() + Fix CVE-2011-2501 + Add debian/patches/02-632786-CVE-2011-2501.patch + Closes: 632786 + * Standards version is 3.9.2 + * Fix xc-package-type-in-debian-control + * Fix debian-rules-missing-recommended-target + + -- Anibal Monsalve Salazar Wed, 06 Jul 2011 10:04:32 +1000 + +libpng (1.5.2-1) experimental; urgency=low + + * New upstream release (Closes: #565821, #574257, #606867). + * Remove Sam Hocevar from Uploaders. + * Add myself to Uploaders. + * Remove libtool, automake and autoconf from Build-depends. + * Disable practice of autogen.sh from debian/rules. + * Remove support libpng3 package (Closes: #369104, #615558). + * Update debian/copyright. + - Update copyright holder. + - Add new license for contrib/pngsuite (Closes: #615558). + * Remove patches directory. + * Add libpng15-dev.lintian-overrides. + Overrides manpage-has-errors-from-man usr/share/man/man3/libpng.3.gz. + + -- Nobuhiro Iwamatsu Thu, 09 Jun 2011 21:37:11 +0900 + +libpng (1.2.44-2) unstable; urgency=low + + * debian/libpng3.links: fix up the compat symlink to point to /lib + Patch by Steve Langasek + Closes: #579074, LP: #284325 + + -- Anibal Monsalve Salazar Sun, 13 Mar 2011 14:40:33 +1100 + +libpng (1.2.44-1) unstable; urgency=low + + * New upstream release + Stop memory leak when reading a malformed sCAL chunk + + -- Anibal Monsalve Salazar Sat, 26 Jun 2010 13:32:43 +1000 + +libpng (1.2.43-1) unstable; urgency=high + + * New upstream release + * Fix CVE-2010-0205 and Cert VU#576029 + http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2010-0205 + https://www.kb.cert.org/vuls/id/576029 + Do not stall and consume large quantities of memory while processing + certain Portable Network Graphics (PNG) files + Closes: 572308 + + -- Anibal Monsalve Salazar Wed, 03 Mar 2010 16:44:47 +1100 + +libpng (1.2.42-2) unstable; urgency=low + + * Merge 1.2.42-1ubuntu1 + Move libpng from /usr/lib to /lib, so that plymouth is usable on + systems with a separate /usr. + * Fix out-of-date-standards-version + + -- Anibal Monsalve Salazar Sun, 14 Feb 2010 13:09:51 +1100 + +libpng (1.2.42-1ubuntu1) lucid; urgency=low + + * Merge from Debian testing. Remaining changes: + - Move libpng from /usr/lib to /lib, so that plymouth is usable on + systems with a separate /usr. + + -- Steve Langasek Thu, 28 Jan 2010 11:57:34 +0000 + +libpng (1.2.42-1) unstable; urgency=low + + * New upstream release + * Remove 02-export-png_set_strip_error_numbers.patch (merged) + * Fix debhelper-but-no-misc-depends + + -- Anibal Monsalve Salazar Sat, 16 Jan 2010 17:53:14 +1100 + +libpng (1.2.41-1ubuntu1) lucid; urgency=low + + * Move libpng from /usr/lib to /lib, so that plymouth is usable on systems + with a separate /usr. + + -- Steve Langasek Mon, 25 Jan 2010 00:18:15 -0800 + +libpng (1.2.41-1) unstable; urgency=low + + * New upstream release + * Debian source format is 3.0 (quilt) + * Update debian/watch + * Add 02-export-png_set_strip_error_numbers.patch + Define PNG_ERROR_NUMBERS_SUPPORTED + Upstream doesn't define PNG_ERROR_NUMBERS_SUPPORTED since 1.2.41. As + a consecuence, the symbol png_set_strip_error_numbe@@PNG12_0 wasn't + exported. + + -- Anibal Monsalve Salazar Fri, 04 Dec 2009 11:23:50 +1100 + +libpng (1.2.40-1) unstable; urgency=low + + * New upstream release + + -- Anibal Monsalve Salazar Wed, 07 Oct 2009 12:44:09 +1100 + +libpng (1.2.39-1) unstable; urgency=low + + * New upstream release + * Fix out-of-date-standards-version + * Fix patch-system-but-no-source-readme + + -- Anibal Monsalve Salazar Thu, 20 Aug 2009 14:57:46 +1000 + +libpng (1.2.38-1) unstable; urgency=low + + * New upstream release + * Fix out-of-date-standards-version + * Update upstream homepage + Closes: 536474 + + -- Anibal Monsalve Salazar Sat, 18 Jul 2009 05:44:23 +1000 + +libpng (1.2.37-1) unstable; urgency=low + + * New upstream release + + -- Anibal Monsalve Salazar Thu, 04 Jun 2009 23:03:58 +1000 + +libpng (1.2.36-1) unstable; urgency=low + + * New upstream release + * Standards-Version is 3.8.1 + * debhelper compat is 7 + * Run dh_prep instead of dh_clean -k + + -- Anibal Monsalve Salazar Fri, 22 May 2009 09:11:26 +1000 + +libpng (1.2.35-1) unstable; urgency=high + + * New upstream release + - http://secunia.com/advisories/33970/ + Fix a vulnerability reported by Tavis Ormandy in which + some arrays of pointers are not initialized prior to using + "malloc" to define the pointers. + Closes: #516256 + - http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2008-5907 + The png_check_keyword function in pngwutil.c in libpng, might + allow context-dependent attackers to set the value of an + arbitrary memory location to zero via vectors involving + creation of crafted PNG files with keywords, related to an + implicit cast of the '\0' character constant to a NULL pointer. + * Don't build libpng3 when binary-indep target is not called. + Closes: #486415 + + -- Anibal Monsalve Salazar Sat, 21 Feb 2009 15:50:52 +1100 + +libpng (1.2.33-2) unstable; urgency=low + + * Fix the following lintian issues: + W: libpng12-0: copyright-refers-to-versionless-license-file + usr/share/common-licenses/GPL + + -- Anibal Monsalve Salazar Mon, 16 Feb 2009 11:32:17 +1100 + +libpng (1.2.33-1) experimental; urgency=low + + * New upstream release + - Fix memory leak after reading a malformed tEXt chunk + + -- Anibal Monsalve Salazar Sat, 01 Nov 2008 17:21:56 +1100 + +libpng (1.2.32-1) experimental; urgency=low + + * New upstream release + - libpng.pc is configured to do static linking; closes: #483477 + - use autoconf variables in .pc and libpng-config; closes: #483478 + * Remove debian/patches/02-501109-pngtest.c.diff; it was merged + + -- Anibal Monsalve Salazar Sun, 05 Oct 2008 08:20:20 +1100 + +libpng (1.2.27-2) unstable; urgency=medium + + * Fix CVE-2008-3964: off-by-one error in pngtest.c; closes: #501109 + * Standards-Version is 3.8.0 + + -- Anibal Monsalve Salazar Sat, 04 Oct 2008 19:45:17 +1000 + +libpng (1.2.27-1) unstable; urgency=low + + * New upstream release + * Patches merged upstream: + debian/patches/02-476669-CVE-2008-1382.diff + debian/patches/03-404514-png.5.diff + * Run ./autogen.sh + + -- Anibal Monsalve Salazar Tue, 29 Apr 2008 17:22:16 +1000 + +libpng (1.2.26-1) unstable; urgency=high + + * New upstream release. Closes: #431202 + * Use quilt + Add 01-legacy.diff + * Fix CVE-2008-1382 denial of service and possibly code execution + Add 02-476669-CVE-2008-1382.diff + Closes: #476669 + * Fix URL in png.5. Closes: #404514 + Add 03-404514-png.5.diff + * Move examples to libpng12-dev. Closes: #401467 + * Fix "libpng (<= 1.2.20) contains grey-licensed code". Closes: #469126 + * Fix the following lintian issues: + W: libpng source: debian-rules-ignores-make-clean-error line 37 + W: libpng source: substvar-source-version-is-deprecated libpng12-dev + W: libpng source: out-of-date-standards-version 3.7.2 (current is 3.7.3) + W: libpng12-0-udeb udeb: description-contains-homepage + W: libpng3: description-contains-homepage + W: libpng12-dev: description-contains-homepage + W: libpng12-0: package-contains-empty-directory usr/bin/ + W: libpng12-0: package-contains-empty-directory usr/sbin/ + W: libpng12-0: description-contains-homepage + W: libpng12-0: doc-base-unknown-section libpng12:22 Apps/Programming + + -- Anibal Monsalve Salazar Sun, 20 Apr 2008 18:22:32 +1000 + +libpng (1.2.15~beta5-3) unstable; urgency=high + + * ACKed NMU. + * Fixed out-of-bounds read operations triggered by crafted + png image files (CVE-2007-5269) (Closes: #446308). + + -- Anibal Monsalve Salazar Sun, 14 Oct 2007 09:55:00 +1000 + +libpng (1.2.15~beta5-2.1) unstable; urgency=high + + * Non-maintainer upload by testing security team. + * Fixed out-of-bounds read operations triggered by crafted + png image files (CVE-2007-5269) (Closes: #446308). + + -- Nico Golde Sun, 14 Oct 2007 01:12:51 +0200 + +libpng (1.2.15~beta5-2) unstable; urgency=high + + * It seems that a grayscale image with a malformed (bad CRC) tRNS + chunk will crash libpng and mozilla. Closes: #424729. + - CVE-2007-2445 + http://www.cve.mitre.org/cgi-bin/cvename.cgi?name=2007-2445 + - CERT Vulnerability Note VU#684664 + http://www.kb.cert.org/vuls/id/684664 + + -- Anibal Monsalve Salazar Wed, 09 May 2007 17:34:02 +1000 + +libpng (1.2.15~beta5-1) unstable; urgency=low + + * Applied legacy_symbols.patch. + * Changed shlibs dependecy versions to ">= 1.2.13-4". + * libpng12-0: Added the following conflicts: mzscheme (<= 1:209-5), + pngcrush (<= 1.5.10-2), pngmeta (<= 1.11-3), qemacs (<= 0.3.1-5), + povray-3.5 (<= 3.5.0c-10). + + -- Anibal Monsalve Salazar Wed, 20 Dec 2006 10:24:18 +1100 + +libpng (1.2.15~beta5-0) unstable; urgency=high + + * New upstream release. + - Fixed asm API functions not exported on amd64. Closes: #401044. + - Fixed "libpng hangs when saving profile". Closes: #401423. + * Fixed "Incorrect shlibs information". Closes: #401465. + * Removed patches for png.h and pngconf.h. + * Updated debian/watch. + + -- Anibal Monsalve Salazar Sun, 03 Dec 2006 14:47:41 +1100 + +libpng (1.2.13-4) unstable; urgency=low + + * Removed drop_pass_width patch. Closes: #399499. + + -- Anibal Monsalve Salazar Tue, 21 Nov 2006 19:07:43 +1100 + +libpng (1.2.13-3) unstable; urgency=low + + * libpng12-dev: removed the conflict with libpng3-dev. + + -- Anibal Monsalve Salazar Sun, 19 Nov 2006 16:36:02 +1100 + +libpng (1.2.13-2) unstable; urgency=low + + * Put back binary package libpng3. + + -- Anibal Monsalve Salazar Sun, 19 Nov 2006 15:32:39 +1100 + +libpng (1.2.13-1) unstable; urgency=low + + * Fixed conflict with the new libpng package. Closes: #399296. + * Fixed png.5 man page formatting. Closes: #353061. + Patch by Kevin Ryde . + + -- Anibal Monsalve Salazar Sun, 19 Nov 2006 13:55:17 +1100 + +libpng (1.2.13-0) unstable; urgency=high + + * New upstream release. + * CVE-2006-5793: Fixed a new security issue regarding malformed + sPLT chunks. Closes: #398706. + * Transitional package libpng3 is not shipped anymore. + Closes: #369104. + + -- Anibal Monsalve Salazar Sun, 19 Nov 2006 09:02:09 +1100 + +libpng (1.2.12-0) unstable; urgency=high + + * New upstream release. Closes: #366070. + * CVE-2006-3334: Fixed Buffer overflow in the png_decompress_chunk + function in pngrutil.c in libpng before 1.2.12 allows + context-dependent attackers to cause a denial of service and + possibly execute arbitrary code via unspecified vectors related + to "chunk error processing," possibly involving the "chunk_name". + Closes: #397892. + * Removed debian/x86_patches/pnggccrd-PIC.patch as it's merged + upstream. + + -- Anibal Monsalve Salazar Thu, 09 Nov 2006 19:25:08 +1100 + +libpng (1.2.8rel-7) unstable; urgency=low + + * New maintainer. Closes: #393109. + * ACK NMUs. Closes: #378463, #377298, #356252. + * debian/control: + - set Standards-Version to 3.7.2. + - set Priority to extra for libpng12-0-udeb. + - added ${misc:Depends} to libpng12-0 and libpng12-0-udeb + dependency lists. + * Added debian/watch file. + + -- Anibal Monsalve Salazar Mon, 16 Oct 2006 17:34:58 +1000 + +libpng (1.2.8rel-6) unstable; urgency=low + + * Orphaning package. + + -- Josselin Mouette Sun, 15 Oct 2006 03:22:24 +0200 + +libpng (1.2.8rel-5.2) unstable; urgency=low + + * Non-maintainer upload. + * Backport changes from 1.2.12 to fix a buffer overflow in + png_decompress_chunk; patch by Alec Berryman. [CVE-2006-3334] + (Closes: #377298) + + -- Steinar H. Gunderson Sun, 16 Jul 2006 16:27:56 +0200 + +libpng (1.2.8rel-5.1) unstable; urgency=low + + * Non Maintainer Upload (closes: #356252). + * Add support for udeb dependency resolution in shlibs file. + * Update debhelper compatibility to level 5. + + -- Frans Pop Thu, 30 Mar 2006 11:46:39 +0200 + +libpng (1.2.8rel-5) unstable; urgency=low + + * drop_pass_width.patch: don't export png_pass_width, it's absolutely + unnecessary. + * libpng12-0.shlibs: downgrade the shlibs accordingly + (closes: #331383). + + -- Josselin Mouette Mon, 3 Oct 2005 20:18:43 +0200 + +libpng (1.2.8rel-4) unstable; urgency=low + + * makefile.patch: + + Use PNG_PRIVATE to get the list of private symbols as well. It + sucks, but they've been there for too long (closes: #329886). + + Use mawk instead of awk (closes: #329812). + * control: build-depend on mawk. + * rules: + + Use -O2, not -O3. + + Actually run the tests. + + Make use of x86_patches/ on x86 architectures. + * x86_patches/mmxbuild.patch: build MMX routines in pnggccrd.c. + * x86_patches/pnggccrd-PIC.patch: patch from Christian Aichinger + to make the assembly routines PIC-compatible. + * libpng12-0.shlibs: bump the shlibs version. + + -- Josselin Mouette Sun, 25 Sep 2005 15:25:34 +0200 + +libpng (1.2.8rel-3) unstable; urgency=low + + * Upload to unstable. + * Rename the source package to libpng. + + -- Josselin Mouette Thu, 22 Sep 2005 18:24:37 +0200 + +libpng3 (1.2.8rel-2) experimental; urgency=low + + * makefile.patch: + + now patch makefile.elf, so that only public symbols are truly + exported. + + shorten the differences as much as possible. + * rules: use makefile.elf now. + * Move libpng3 to oldlibs. + * Entirely remove libpng3-dev, making libpng12-dev provide it + (closes: #322051). + * poynton.patch: correct Charles Poynton's address (closes: #289437). + * Don't run the test when cross-building (closes: #285427). + * setjmp_error.patch: don't stop when we are not using _BSD_SOURCE, as + in this case this is harmless (closes: #299343). + * libpng3.postinst: removed, the fix is in sarge. + * Standards-version is 3.6.2. + * legacy_symbols.patch: still export png_read_destroy and + png_write_destroy, which are deprecated but should nevertheless be + accessible. + + -- Josselin Mouette Tue, 13 Sep 2005 02:07:16 +0200 + +libpng3 (1.2.8rel-1) unstable; urgency=medium + + * New upstream release. + * read_transformations.patch: removed, included upstream. + * libpng12-0.shlibs: Update to version 1.2.8rel, new flags seem to have been + added. + + -- Josselin Mouette Sat, 4 Dec 2004 15:54:53 +0100 + +libpng3 (1.2.8beta5-2) unstable; urgency=medium + + * read_transformations.patch: fix segmentation fault with latex + (closes: #281789) and totem (closes: #278618). + + -- Josselin Mouette Thu, 25 Nov 2004 16:49:28 +0100 + +libpng3 (1.2.8beta5-1) unstable; urgency=medium + + * New upstream release. + + Correct segmentation violation in png_combine_row. + Closes: #278526, #278917, #278921, #279258, #281789, #282368. + + -- Josselin Mouette Wed, 24 Nov 2004 13:53:49 +0100 + +libpng3 (1.2.7-1) unstable; urgency=medium + + * New upstream release (closes: #278308). + * libpng12-0.shlibs: update shlibs to version 1.2.7. + * Remove all security fixed, they are included upstream. + + -- Josselin Mouette Tue, 26 Oct 2004 13:40:25 +0200 + +libpng3 (1.2.5.0-9) unstable; urgency=high + + * CAN-2004-0954.patch: removed, this is already fixed in + CAN-2004-0597_0598_0599.patch. + + -- Josselin Mouette Tue, 19 Oct 2004 10:52:28 +0200 + +libpng3 (1.2.5.0-8) unstable; urgency=high + + * Switch to CDBS. + + Ship modifications and security fixes in debian/patches. + + debian/rules: rewritten. + + debian/control: build-depend on cdbs. + + debian/libpng12-0.shlibs: new. + * setjmp_error.patch: port explanation of the error when including setjmp.h + from libpng10, thanks Matijs van Zuijlen + (closes: #273473). + * CAN-2004-0954.patch: fix buffer overflow vulnerability in + png_handle_tRNS(). + * CAN-2004-0955.patch: fix integer arithmetic overflow vulnerability in + png_read_png(). + + -- Josselin Mouette Thu, 14 Oct 2004 20:06:08 +0200 + +libpng3 (1.2.5.0-7) unstable; urgency=high + + * pngrtran.c: applied upstream patch 4 to fix incorrect calculation of + buffer offsets [CAN-2004-0768]. + * png.h, pngpread.c, pngrutil.c: patch from Chris Evans + to fix several vulnerabilities (closes: #263500): + + libpng fails to properly check length on PNG data [CAN-2004-0597]. + + libpng "png_handle_sBIT" does not perform proper checks to avoid stack + buffer overflow [CAN-2004-0597]. + + libpng "png_handle_iCCP" possible NULL-pointer crash + [CAN-2004-0598]. + + libpng "png_handle_sPLT" possible integer overflow + [CAN-2004-0599]. + + libpng "png_read_png" does not properly handle a PNG with excessive + height (integer overflow) [CAN-2004-0599]. + + libpng progressive reading integer overflow [CAN-2004-0599]. + + -- Josselin Mouette Thu, 5 Aug 2004 12:37:32 +0200 + +libpng3 (1.2.5.0-6) unstable; urgency=high + + * pngerror.c: applied patch by Steve Grubb to + fix unintended memory access that could result in a crash of the + application linking against libpng [CAN-2004-0421]. + + -- Josselin Mouette Tue, 20 Apr 2004 13:39:02 +0200 + +libpng3 (1.2.5.0-5) unstable; urgency=low + + * Use debhelper 4.2, which generates the udeb appropriately. + * Update control and rules appropriately. + * Don't use ${shlibs:Depends} for the udeb, rather write the + dependencies by hand. + * Standards-version is 3.6.1. + + -- Josselin Mouette Fri, 20 Feb 2004 19:23:05 +0100 + +libpng3 (1.2.5.0-4) unstable; urgency=low + + * scripts/makefile.linux: use versioned dependencies + (closes: #155891). + * debian/rules: bump dependency for dh_makeshlibs. + * add the libpng.a link in libpng12-dev. + * Rework scripts/makefile.linux to make it more consistent. + * Update stuff in debian/ accordingly. + * Updated README.Debian. + + -- Josselin Mouette Tue, 10 Jun 2003 18:14:32 +0200 + +libpng3 (1.2.5.0-3) unstable; urgency=low + + * Make libpng3{,-dev} depend on libpng12-{0,dev} >= 1.2.5.0-2 instead + of the strict source version. + * Move /usr/share/doc/libpng3{,-dev} into symlinks at postinst time + when directories already exist. + * debian/rules: install correctly doc-base stuff. + * debian/libpng12-dev.doc-base: updated URIs. + + -- Josselin Mouette Tue, 6 May 2003 19:44:59 +0200 + +libpng3 (1.2.5.0-2) unstable; urgency=low + + * scripts/{makefile.linux,libpng-config-body.in}: correct the + libpng12-config script. + * Install correctly pkg-config stuff (closes: #191081). + * Make libpng12-dev conflict explicitly with libpng12-0-dev. + * Update README.Debian. + + -- Josselin Mouette Mon, 28 Apr 2003 19:42:15 +0200 + +libpng3 (1.2.5.0-1) unstable; urgency=low + + * New maintainer. + * Use real upstream tarball from 1.2.5 release. + * Use dpkg-source's way instead of dpatch for patching. + * A bit of rework in debian/rules, use dh_install and debhelper 4. + * Standards-version is 3.5.9. + * The -dev package is now named libpng12-dev (stop using the + libpkg-guide way). + * libpng3 is now arch-independent. + * Improved descriptions a bit. + * Don't supply libpngpf.3, it is not useful to programmers. + + -- Josselin Mouette Wed, 16 Apr 2003 18:41:02 +0200 + +libpng3 (1.2.5-11) unstable; urgency=low + + * Add udeb (closes: #174842) + * Add missing section on source files. + + -- Junichi Uekawa Mon, 31 Mar 2003 00:28:06 +0900 + +libpng3 (1.2.5-10) unstable; urgency=low + + * Rebuild with d-shlibs with fixed "libgcc_s1-dev" handling (for gcc-3.2). + (closes: #178070), build-depend on d-shlibs 0.10 or greater. + + -- Junichi Uekawa Fri, 24 Jan 2003 12:23:35 +0900 + +libpng3 (1.2.5-9) unstable; urgency=low + + * Use dpatch for patch system -- divide Debian patch, and security fix patch. + * Standards-Version: 3.5.8 + * add manual page libpng-config.1 and libpng12-config.1 + + -- Junichi Uekawa Wed, 15 Jan 2003 17:55:17 +0900 + +libpng3 (1.2.5-8) unstable; urgency=low + + * Sorry folks, I made a mistake. + * Forward-port of patch from the Security Team, + really apply what was there. (closes: #172868,#172871) + + -- Junichi Uekawa Fri, 13 Dec 2002 16:12:01 +0900 + +libpng3 (1.2.5-7) unstable; urgency=high + + * Forward-port of patch from the Security Team + * Applied patch to pngrtran.c by Glenn Randers-Pehrson + to fix a buffer overrun. + + -- Junichi Uekawa Thu, 12 Dec 2002 20:36:28 +0900 + +libpng3 (1.2.5-6) unstable; urgency=low + + * Typo in scripts/makefile.linux. + Mistake. -lz and -lm weren't happening. + * Change LDFLAGS to not list -lz -lm, so that testsuite will catch such error. + * set prefix=/usr/ in scripts/makefile.linux, since it was set to usr/local. + + -- Junichi Uekawa Wed, 30 Oct 2002 20:54:54 +0900 + +libpng3 (1.2.5-5) unstable; urgency=low + + * scripts/makefile.linux: LIBADDFLAGS introduced, for shared library lib + additional + flags, and use that for shared library. + - this should fix build failure (closes: #166704) + Thanks Daniel Schepler for reporting. + * updated copyright file to note that libpng3 in Debian is patched to + link with -lz -lm. + + -- Junichi Uekawa Mon, 28 Oct 2002 12:25:57 +0900 + +libpng3 (1.2.5-4) unstable; urgency=low + + * Trying to fix the problem that libpng3 seems to be not linked against libz. + LDFLAGS was defined but not being used. + Thanks Mike Furr for reporting (closes: #166489) + + -- Junichi Uekawa Sun, 27 Oct 2002 16:07:54 +0900 + +libpng3 (1.2.5-3) unstable; urgency=low + + * Fixed description, I mixed up the -devel and non-devel + packages. + * updated README.Debian. + + -- Junichi Uekawa Thu, 24 Oct 2002 18:56:34 +0900 + +libpng3 (1.2.5-2) unstable; urgency=low + + * careless mistake :( + * reinstall libpng.so symlink in libpng-12-0-dev package. + Otherwise other packages won't build ... + + -- Junichi Uekawa Wed, 23 Oct 2002 16:46:23 +0900 + +libpng3 (1.2.5-1) unstable; urgency=low + + * New upstream version (closes: #163425) + * re-patched makefile.linux to work with system zlib, + added workaround to set CFLAGS, and remove rpath settings from LDFLAGS + * Use debhelper. + * No longer create /usr/doc symlinks. + * Standards-Version: 3.5.7 + + -- Junichi Uekawa Tue, 22 Oct 2002 21:05:33 +0900 + +libpng3 (1.2.1-5) unstable; urgency=low + + * Not yet released. + * Change priority from standard to optional. + + -- Junichi Uekawa Sun, 15 Sep 2002 15:39:12 +0900 + +libpng3 (1.2.1-4) unstable; urgency=low + + * change -dev dependency of libc6-dev to libc-dev + + -- Junichi Uekawa Fri, 13 Sep 2002 18:40:53 +0900 + +libpng3 (1.2.1-3) unstable; urgency=low + + * Security fix backported from 1.2.4. Check bounds of variables. + (closes: #155403) + + -- Junichi Uekawa Wed, 7 Aug 2002 17:30:32 +0900 + +libpng3 (1.2.1-2) unstable; urgency=low + + * New maintainer (closes: #151343) + * apply buffer overflow patch for interlaced png files (closes: #150595) + * update description for libpng3-dev. + * change libpng-dev to libpng3-dev + + -- Junichi Uekawa Thu, 25 Jul 2002 16:28:24 +0900 + +libpng3 (1.2.1-1.1) unstable; urgency=low + + * NMU + * Provides: libpng2-dev has been changed to Provides: libpng3-dev + libpng2-dev can be put back in when some kind of sane transition has + finished. + (closes: #128384, #128871, #129268, #129269) + + -- Junichi Uekawa Tue, 12 Feb 2002 02:31:53 +0900 + +libpng3 (1.2.1-1) unstable; urgency=low + + * New upstream version; closes: #125679. + * New source package name: libpng3. + * Renamed libpng-dev to libpng-dev to avoid having to maintain several + development packages (the -dev is source compatible). + * Moved png.5 into the -dev package. + * Added a Replaces: libpng2 to libpng-dev so that we can steal the png.5 + manpage without fuss. + * Changed debian/shlibs for libpng3. + * Compress examples/pngtest.c. + + -- Philippe Troin Tue, 18 Dec 2001 20:01:04 -0800 + +libpng (1.0.12-3) unstable; urgency=low + + * Moved the png.5 manpage to the dev package to allow multiple libpng + packages installed at the same time. + + -- Philippe Troin Tue, 18 Dec 2001 23:58:25 -0800 + +libpng (1.0.12-2) unstable; urgency=low + + * Changed libpng2-dev's section to devel to resync with override file. + * Fixed upstream version detection in debian/rules; closes: #105931. + + -- Philippe Troin Sun, 29 Jul 2001 11:52:40 -0700 + +libpng (1.0.12-1) unstable; urgency=low + + * New upstream release; closes: #105354. + * Bumped dependency information in debian/shlibs to libpng >= 1.0.12 + since there were some non-backwards compatible changes to the API. + * Added support for DEB_BUILD_OPTIONS and get-orig-source to debian/rules. + * Added call to ldconfig on postrm's remove. + * Removed INSTALL file from /usr/share/doc/libpng2. + * Bumped standards version to 3.5.5.0. + + -- Philippe Troin Tue, 17 Jul 2001 23:32:36 -0700 + +libpng (1.0.11-1) unstable; urgency=low + + * New upstream release. + + -- Philippe Troin Wed, 2 May 2001 20:43:51 -0700 + +libpng (1.0.10-2) unstable; urgency=low + + * Force recompile because of bad sparc package. + * Libpng2's priority changed to standard to comply with the override file. + + -- Philippe Troin Tue, 24 Apr 2001 11:49:31 -0700 + +libpng (1.0.10-1) unstable; urgency=low + + * New upstream release. + * Changed shlib to depend on libpng2 (>= 2.0.10) because of + non-backwards compatible changes. + + -- Philippe Troin Sun, 22 Apr 2001 22:48:30 -0700 + +libpng (1.0.8-1) unstable; urgency=low + + * Changed the doc-base type from 'test' to 'text'; closes: #59877. + * New upstream relase 1.0.8; closes: #70464. + * Updated copyright notice. + * Removed Y2kINFO from the doc directory. + * Added pngtest.c in examples; closes: #65229. + * Updated to standards version 3.2.1.0. + * Added build-depends line in control file; closes: #69291. + + -- Philippe Troin Mon, 11 Sep 2000 23:19:12 -0700 + +libpng (1.0.5-1) frozen unstable; urgency=low + + * Maintainer upload (closes: #48244, #48246). + * Added some extra explanations for the setjmp.h mess (closes: #56759), + see pngconf.h for details. + + -- Philippe Troin Mon, 28 Feb 2000 13:53:22 -0800 + +libpng (1.0.5-0.1) unstable; urgency=low + + * Non-maintainer release. + * New upstream release. (closes:Bug#48244). + * Remove versioned depend from shlibs (closes:Bug#48246). + + -- Joel Klecker Sat, 30 Oct 1999 08:12:53 -0700 + +libpng (1.0.3-1) unstable; urgency=low + + * New upstream version (1.0.3); Closes: #31870, #46333. + * Maintainer upload, closes NMU bugs; Closes: #28412, #31523, #31690. + * FHS compliant. + * New standard-version 3.0.1. + * Lintian clean. + * Removed temporary zlib1g line in control file (used to be a bug in + zlib1g). + * Moved the documentation file to the -dev package. + * Register documentation file to doc-base. + * Fontified man pages with addformat script; Closes #38680. + + -- Philippe Troin Mon, 4 Oct 1999 18:59:42 -0700 + +libpng (1.0.2b-0.1) frozen unstable; urgency=low + + * New upstream (bug-fix only) version. + (Should fix bugs #31690滼, since I can't reproduce them) + From the author: + "I have recently uploaded libpng-1.0.2b to + ftp://swrinde.nde.swri.edu/pub/png-group/src + I plan to release it as libpng-1.0.3 in a + few days, but would like to hear whether it + fixes the problems with GNOME. + It restores a few lines of code that were + inadvertently deleted from pngread.c, which + seems to be the cause of problems with adding + an alpha channel (which you fixed by downgrading + to libpng-1.0.1's pngread.c)." + [Glenn Randers-Pehrson ] + * Masquerade version number to 1.0.3 to make Imlib & Co. happy. + + -- Vincent Renardias Mon, 11 Jan 1999 06:27:55 +0100 + +libpng (1.0.2-1.1) frozen unstable; urgency=low + + * Fix Important bug #28412 + (using pngread.c from libpng-1.0.1 did the trick). + + -- Vincent Renardias Wed, 6 Jan 1999 19:00:15 +0100 + +libpng (1.0.2-1) unstable; urgency=low + + * Maintainer release (to change a bit). + * Pristine sources. + * Libpng2-dev includes example.c (fixes bug #10315). + * Changed control file to reflect difference with libpng0g (fixes #23795). + * Recompiled (should fix the zlib1g missing symbol, bug #24450). + * Added -D_REENTRANT also to static library. + * Added a dependency upon zlib1g >= 1.1.2 (otherwise we get a missing + symbol) (fixes bug #24450). + + -- Philippe Troin Tue, 22 Sep 1998 00:17:16 -0700 + +libpng (1.0.2-0.1) unstable; urgency=low + + * Non-maintainer release + * New upstream version + + -- Karl M. Hegbloom Tue, 4 Aug 1998 23:47:00 -0700 + +libpng (1.0.1-0.2) unstable; urgency=medium + + * debian/rules (binary-arch): don't call install with -s as an + argument when installing a shared library; it doesn't know to use + --strip-unneeded, and we call strip separately later anyway. + * scripts/makefile.lnx (CFLAGS): killed i386-isms. + * scripts/makefile.lnx: compiled shared libraries with -D_REENTRANT. + (The above fixes are from James Troup, who yet again, alerted me to + my screwups ;) + * debian/postinst: only call ldconfig if $1 = configure. + + -- Joel Klecker Wed, 17 Jun 1998 10:25:27 -0700 + +libpng (1.0.1-0.1) unstable; urgency=low + + * New upstream bug fix release. + * Include man pages. + + -- Joel Klecker Wed, 06 May 1998 08:51:49 -0700 + +libpng (1.0.0-0.1) unstable; urgency=low + + * Non-maintainer Release. + * New Upstream Release. + * Changed source package name to `libpng'. + * Added `-f makefile.lnx' to make invocations in debian/rules. + * Removed `ldconfig' call from postrm. + + -- Joel Klecker Wed, 04 Mar 1998 17:58:05 -0800 + +libpng0 (0.96-5) unstable; urgency=low + + * Removed executable permissions on shared libs (fixes bug #15478). + * Updated Standards-Version to 2.3.0.1. + + -- Philippe Troin Sun, 25 Jan 1998 13:19:51 -0800 + +libpng0 (0.96-4) unstable; urgency=low + + * Shared libraries are stripped with --strip-unneeded and static + libraries with --strip-debug (fixes bug #15669). + * Made the build strip non-i386 specific (patch by James Troup) (fixes + bug #13832). + * Removed the dependency between the libc5 and libc6 versions. + + -- Philippe Troin Sun, 18 Jan 1998 22:37:19 -0800 + +libpng0 (0.96-3) unstable; urgency=low + + * Libc6 compilation. + + -- Philippe Troin Tue, 23 Sep 1997 21:38:42 -0700 + +libpng0 (0.96-2) unstable; urgency=low + + * Fixed permissions in /usr/doc/libpng0 (fixes bug #10540). + + -- Philippe Troin Sun, 15 Jun 1997 13:18:38 -0700 + +libpng0 (0.96-1) unstable; urgency=low + + * New upstream sources. + + -- Philippe Troin Thu, 12 Jun 1997 23:32:29 -0700 + +libpng0 (0.95b-1) unstable; urgency=low + + * New maintainer. + * Upgraded to upstream version 0.95b. + * Make debian/rules version independent. + * Debian/rules clean now removes substvars. + * Bumped the shlibs version to 0.95 as some incompatibilities were + introduced between 0.89 and 0.90. + * Added the Section: and Priority: fields to the control file (fixes bug + #6370). + * Now /usr/doc/libpng0 contains various info and the debian change log + stuff (fixes bug #7925). + * Added -D_REENTRANT compilation flag. + + -- Philippe Troin Fri, 18 Apr 1997 14:44:09 -0700 + +libpng (0.89c-6) unstable; urgency=low + + * Moved shlibs file to correct location + + -- Michael Alan Dorman Sun, 15 Dec 1996 13:03:19 -0500 + +libpng (0.89c-5) unstable; urgency=low + + * Added shlibs file + + -- Michael Alan Dorman Sat, 23 Nov 1996 16:23:06 -0500 + +libpng (0.89c-4) unstable; urgency=low + + * Now stripping shared libraries (Bug#5134) + + -- Michael Alan Dorman Sat, 23 Nov 1996 12:05:06 -0500 + +libpng (0.89c-3) unstable; urgency=low + + * Corrected maintainers address + + -- Michael Alan Dorman Mon, 23 Sep 1996 12:52:03 -0400 + +libpng (0.89c-2) unstable; urgency=low + + * Accommodate the fact that dpkg-source doesn't properly preserve + permissions on scripts when extracting package. (Bug#4513) + + -- Michael Alan Dorman Mon, 23 Sep 1996 12:34:35 -0400 + +libpng (0.89c-1) unstable; urgency=low + + * New upstream version. + * Moved to new source packaging format. + + -- Michael Alan Dorman Thu, 12 Sep 1996 15:19:35 -0400 diff --git a/changelogs b/changelogs new file mode 100644 index 0000000..da278be --- /dev/null +++ b/changelogs @@ -0,0 +1 @@ +CHANGES diff --git a/clean b/clean new file mode 100644 index 0000000..90a21dc --- /dev/null +++ b/clean @@ -0,0 +1 @@ +pngtest-static diff --git a/control b/control new file mode 100644 index 0000000..5dfe301 --- /dev/null +++ b/control @@ -0,0 +1,69 @@ +Source: libpng1.6 +Section: libs +Priority: optional +Maintainer: Maintainers of libpng1.6 packages +Uploaders: Nobuhiro Iwamatsu , + Gianfranco Costamagna , + Tobias Frost +Build-Depends: debhelper-compat (= 13), cmake, zlib1g-dev, mawk +Standards-Version: 4.7.3 +Vcs-Browser: https://salsa.debian.org/debian/libpng1.6 +Vcs-Git: https://salsa.debian.org/debian/libpng1.6.git +Homepage: http://libpng.org/pub/png/libpng.html + +Package: libpng16-16t64 +Provides: ${t64:Provides} +Replaces: libpng16-16 +Breaks: libpng16-16 (<< ${source:Version}) +Architecture: any +Depends: ${shlibs:Depends}, ${misc:Depends} +Multi-Arch: same +Description: PNG library - runtime (version 1.6) + libpng is a library implementing an interface for reading and writing + PNG (Portable Network Graphics) format files. + . + This package contains the runtime library files needed to run software + using libpng. + +Package: libpng-dev +Section: libdevel +Architecture: any +Multi-Arch: same +Depends: ${misc:Depends}, libpng16-16t64 (= ${binary:Version}), zlib1g-dev +Conflicts: libpng12-0-dev, libpng12-dev, libpng2-dev, libpng3-dev +Breaks: libpng16-dev (<< 1.6.20-3), libpng16-devtools (<< 1.6.21-1) +Replaces: libpng16-dev (<< 1.6.20-3), libpng16-devtools (<< 1.6.21-1) +Recommends: libpng-tools +Description: PNG library - development (version 1.6) + libpng is a library implementing an interface for reading and writing + PNG (Portable Network Graphics) format files. + . + This package contains the header and development files needed to build + programs and packages using libpng. + +Package: libpng-tools +Section: libdevel +Architecture: any +Multi-Arch: foreign +Depends: ${shlibs:Depends}, ${misc:Depends}, libpng16-16t64 (= ${binary:Version}) +Breaks: libpng16-tools (<< 1.6.21-1) +Replaces: libpng16-tools (<< 1.6.21-1) +Description: PNG library - tools (version 1.6) + libpng is a library implementing an interface for reading and writing + PNG (Portable Network Graphics) format files. + . + This package contains a program to interact with libpng from the + command line. + +Package: libpng16-16-udeb +Package-Type: udeb +Build-Profiles: +Section: debian-installer +Architecture: any +Depends: ${shlibs:Depends}, ${misc:Depends} +Description: PNG library - minimal runtime library (version 1.6) + libpng is a library implementing an interface for reading and writing + PNG (Portable Network Graphics) format files. + . + This package provides the minimal libpng runtime library needed for + the debian-installer. diff --git a/copyright b/copyright new file mode 100644 index 0000000..0457acb --- /dev/null +++ b/copyright @@ -0,0 +1,324 @@ +Format: https://www.debian.org/doc/packaging-manuals/copyright-format/1.0/ +Upstream-Name: libpng +Source: http://www.libpng.org/pub/png/ + +Files: * +Copyright: 1995-2026 The PNG Reference Library Authors. + 1998-2018 Glenn Randers-Pehrson + 2018-2026 Cosmin Truta +License: libpng + +Files: arm/* +Copyright: 2018-2025 Cosmin Truta + 2017-2018 Arm Holdings. All rights reserved. + 2014,2016 Glenn Randers-Pehrson +License: libpng + +Files: ci/* +Copyright: 2023-2024 Cosmin Truta +License: expat + +Files: contrib/pngexif/* +Copyright: 2017-2020 Cosmin Truta +License: expat + +Files: contrib/pngminus/* +Copyright: 1999-2019 Willem van Schaik + 2018-2024 Cosmin Truta +License: expat + +Files: contrib/tools/* +Copyright: 2013-2024 John Cunningham Bowler + 2015 Glenn Randers-Pehrson +License: libpng + +Files: pngwutil.c pngstruct.h pngwrite.c pnginfo.h pngrio.c png.h + pngread.c pngwio.c pngrutil.c pngmem.c pngget.c pngtest.c + pngrtran.c pngpriv.h pngset.c pngpread.c + pngdebug.h pngerror.c pngwtran.c png.c pngtrans.c example.c +Copyright: 1996, 1997 Andreas Dilger + 1995, 1996 Guy Eric Schalnat, Group 42, Inc. + 1998-2018 Glenn Randers-Pehrson + 2018-2025 Cosmin Truta +License: libpng + +Files: contrib/gregbook/* + contrib/visupng/resource.h + contrib/visupng/cexcept.h +Copyright: 2000-2008 Adam M. Costello and Cosmin Truta + 1998-2017 Greg Roelofs +License: GPL-2+ or BSD-like-with-advertising-clause + +Files: contrib/visupng/PngFile.c contrib/visupng/PngFile.h + contrib/visupng/VisualPng.c +Copyright: 2000,2017 Willem van Schaik +License: libpng + +Files: contrib/libtests/tarith.c +Copyright: 2011-2013 John Cunningham Bowler + 2021 Cosmin Truta +License: libpng + +Files: contrib/oss-fuzz/* +Copyright: 2017-2018 Glenn Randers-Pehrson + 2016 Google Inc. + 2015 The Chromium Authors. +License: libpng OR Apache-2.0 OR BSD-3-clause + +Files: contrib/oss-fuzz/Dockerfile +Copyright: 2016 Google Inc. +License: Apache-2.0 + +Files: riscv/* +Copyright: 2023 Google LLC +License: libpng + +Files: debian/* +Copyright: 2001 Philippe Troin + 2002 Junichi Uekawa + 2003 Josselin Mouette + 2006-2009 Anibal Monsalve Salazar + 2011-2014 Nobuhiro Iwamatsu + 2016-2026 Gianfranco Costamagna + 2016-2026 Tobias Frost +License: GPL-2+ + +License: expat + Permission is hereby granted, free of charge, to any person obtaining + a copy of this software and associated documentation files (the + "Software"), to deal in the Software without restriction, including + without limitation the rights to use, copy, modify, merge, publish, + distribute, sublicense, and/or sell copies of the Software, and to + permit persons to whom the Software is furnished to do so, subject to + the following conditions: + . + The above copyright notice and this permission notice shall be + included in all copies or substantial portions of the Software. + . + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND + NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS + BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN + ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN + CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + SOFTWARE. + +License: GPL-2+ + This package is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2 of the License, or + (at your option) any later version. + . + This package is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + . + You should have received a copy of the GNU General Public License + along with this program. If not, see + . + On Debian systems, the complete text of the GNU General + Public License version 2 can be found in "/usr/share/common-licenses/GPL-2". + +License: BSD-like-with-advertising-clause + Permission is granted to anyone to use this software for any purpose, + including commercial applications, and to alter it and redistribute + it freely, subject to the following restrictions: + . + 1. Redistributions of source code must retain the above copyright + notice, disclaimer, and this list of conditions. + 2. Redistributions in binary form must reproduce the above copyright + notice, disclaimer, and this list of conditions in the documenta- + tion and/or other materials provided with the distribution. + 3. All advertising materials mentioning features or use of this + software must display the following acknowledgment: + . + This product includes software developed by Greg Roelofs + and contributors for the book, "PNG: The Definitive Guide," + published by O'Reilly and Associates. + +License: libpng + Here is the copyright and license for libpng: + . + libpng versions 1.2.6, August 15, 2004, through 1.5.2, March 31, 2011, are + Copyright (c) 2004, 2006-2011 Glenn Randers-Pehrson, and are + distributed according to the same disclaimer and license as libpng-1.2.5 + with the following individual added to the list of Contributing Authors + . + Cosmin Truta + . + libpng versions 1.0.7, July 1, 2000, through 1.2.5 - October 3, 2002, are + Copyright (c) 2000-2002 Glenn Randers-Pehrson, and are + distributed according to the same disclaimer and license as libpng-1.0.6 + with the following individuals added to the list of Contributing Authors + . + Simon-Pierre Cadieux + Eric S. Raymond + Gilles Vollant + . + and with the following additions to the disclaimer: + . + There is no warranty against interference with your enjoyment of the + library or against infringement. There is no warranty that our + efforts or the library will fulfill any of your particular purposes + or needs. This library is provided with all faults, and the entire + risk of satisfactory quality, performance, accuracy, and effort is with + the user. + . + libpng versions 0.97, January 1998, through 1.0.6, March 20, 2000, are + Copyright (c) 1998, 1999 Glenn Randers-Pehrson, and are + distributed according to the same disclaimer and license as libpng-0.96, + with the following individuals added to the list of Contributing Authors: + . + Tom Lane + Glenn Randers-Pehrson + Willem van Schaik + . + (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger) + (Version 0.88 Copyright (c) 1995, 1996 Guy Eric Schalnat, Group 42, Inc.) + . + Authors and maintainers: + libpng versions 0.71, May 1995, through 0.88, January 1996: Guy Schalnat + libpng versions 0.89c, June 1996, through 0.96, May 1997: Andreas Dilger + libpng versions 0.97, January 1998, through 1.2.26 - April 2, 2008: Glenn + See also "Contributing Authors", below. + . + . + COPYRIGHT NOTICE, DISCLAIMER, and LICENSE: + . + If you modify libpng you may insert additional notices immediately following + this sentence. + . + libpng versions 1.2.6, August 15, 2004, through 1.2.26, April 2, 2008, are + Copyright (c) 2004, 2006-2008 Glenn Randers-Pehrson, and are + distributed according to the same disclaimer and license as libpng-1.2.5 + with the following individual added to the list of Contributing Authors: + . + Cosmin Truta + . + libpng versions 1.0.7, July 1, 2000, through 1.2.5, October 3, 2002, are + Copyright (c) 2000-2002 Glenn Randers-Pehrson, and are + distributed according to the same disclaimer and license as libpng-1.0.6 + with the following individuals added to the list of Contributing Authors: + . + Simon-Pierre Cadieux + Eric S. Raymond + Gilles Vollant + . + and with the following additions to the disclaimer: + . + There is no warranty against interference with your enjoyment of the + library or against infringement. There is no warranty that our + efforts or the library will fulfill any of your particular purposes + or needs. This library is provided with all faults, and the entire + risk of satisfactory quality, performance, accuracy, and effort is with + the user. + . + libpng versions 0.97, January 1998, through 1.0.6, March 20, 2000, are + Copyright (c) 1998, 1999, 2000 Glenn Randers-Pehrson, and are + distributed according to the same disclaimer and license as libpng-0.96, + with the following individuals added to the list of Contributing Authors: + . + Tom Lane + Glenn Randers-Pehrson + Willem van Schaik + . + libpng versions 0.89, June 1996, through 0.96, May 1997, are + Copyright (c) 1996, 1997 Andreas Dilger + Distributed according to the same disclaimer and license as libpng-0.88, + with the following individuals added to the list of Contributing Authors: + . + John Bowler + Kevin Bracey + Sam Bushell + Magnus Holmgren + Greg Roelofs + Tom Tanner + . + libpng versions 0.5, May 1995, through 0.88, January 1996, are + Copyright (c) 1995, 1996 Guy Eric Schalnat, Group 42, Inc. + . + For the purposes of this copyright and license, "Contributing Authors" + is defined as the following set of individuals: + . + Andreas Dilger + Dave Martindale + Guy Eric Schalnat + Paul Schmidt + Tim Wegner + . + The PNG Reference Library is supplied "AS IS". The Contributing Authors + and Group 42, Inc. disclaim all warranties, expressed or implied, + including, without limitation, the warranties of merchantability and of + fitness for any purpose. The Contributing Authors and Group 42, Inc. + assume no liability for direct, indirect, incidental, special, exemplary, + or consequential damages, which may result from the use of the PNG + Reference Library, even if advised of the possibility of such damage. + . + Permission is hereby granted to use, copy, modify, and distribute this + source code, or portions hereof, for any purpose, without fee, subject + to the following restrictions: + . + 1. The origin of this source code must not be misrepresented. + . + 2. Altered versions must be plainly marked as such and + must not be misrepresented as being the original source. + . + 3. This Copyright notice may not be removed or altered from + any source or altered source distribution. + . + The Contributing Authors and Group 42, Inc. specifically permit, without + fee, and encourage the use of this source code as a component to + supporting the PNG file format in commercial products. If you use this + source code in a product, acknowledgment is not required but would be + appreciated. + . + contrib/pngsuite: + -------- + (c) Willem van Schaik, 1999, 2011 + . + Permission to use, copy, modify, and distribute these images for any + purpose and without fee is hereby granted. + +License: Apache-2.0 + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + . + http://www.apache.org/licenses/LICENSE-2.0 + . + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + . + On Debian systems, the full text of the Apache License + can be found in the file `/usr/share/common-licenses/Apache-2.0'. + +License: BSD-3-clause + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions + are met: + 1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + 2. Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + 3. Neither the name of the University nor the names of its contributors + may be used to endorse or promote products derived from this software + without specific prior written permission. + . + THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND + ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE + FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + SUCH DAMAGE. + diff --git a/docs b/docs new file mode 100644 index 0000000..5eb1f45 --- /dev/null +++ b/docs @@ -0,0 +1,3 @@ +libpng-manual.txt +README +TODO diff --git a/gbp.conf b/gbp.conf new file mode 100644 index 0000000..e9df14f --- /dev/null +++ b/gbp.conf @@ -0,0 +1,5 @@ +[DEFAULT] +upstream-branch=upstream +debian-branch=master +pristine-tar = True +sign-tags = True diff --git a/libpng-dev.examples b/libpng-dev.examples new file mode 100644 index 0000000..5c69567 --- /dev/null +++ b/libpng-dev.examples @@ -0,0 +1,3 @@ +example.c +pngtest.c +pngtest.png diff --git a/libpng-dev.install b/libpng-dev.install new file mode 100644 index 0000000..e0138e5 --- /dev/null +++ b/libpng-dev.install @@ -0,0 +1,11 @@ +usr/bin/libpng-config +usr/bin/libpng16-config +usr/include +usr/lib/*/cmake +usr/lib/*/libpng +usr/lib/*/pkgconfig +usr/lib/*/libpng.a +usr/lib/*/libpng16.a +usr/lib/*/libpng.so +usr/lib/*/libpng16.so +usr/share/man diff --git a/libpng-dev.links b/libpng-dev.links new file mode 100644 index 0000000..df10316 --- /dev/null +++ b/libpng-dev.links @@ -0,0 +1,2 @@ +/usr/include/libpng16 /usr/include/libpng +/usr/share/man/man1/libpng16-config.1.gz /usr/share/man/man1/libpng-config.1.gz diff --git a/libpng-dev.manpages b/libpng-dev.manpages new file mode 100644 index 0000000..822ed92 --- /dev/null +++ b/libpng-dev.manpages @@ -0,0 +1 @@ +debian/libpng16-config.1 diff --git a/libpng-tools.install b/libpng-tools.install new file mode 100644 index 0000000..4b26ab3 --- /dev/null +++ b/libpng-tools.install @@ -0,0 +1,2 @@ +usr/bin/png-fix-itxt +usr/bin/pngfix diff --git a/libpng16-16-udeb.install b/libpng16-16-udeb.install new file mode 100644 index 0000000..07f93cb --- /dev/null +++ b/libpng16-16-udeb.install @@ -0,0 +1 @@ +usr/lib/*/libpng16.so.* usr/lib diff --git a/libpng16-16t64.doc-base b/libpng16-16t64.doc-base new file mode 100644 index 0000000..aa9e51f --- /dev/null +++ b/libpng16-16t64.doc-base @@ -0,0 +1,25 @@ +Document: libpng16 +Title: A description on how to use and modify libpng (version 1.5.X) +Author: Glenn Randers-Pehrson +Abstract: This file describes how to use and modify the PNG reference library + (known as libpng) for your own use. There are five sections to this + file: introduction, structures, reading, writing, and modification and + configuration notes for various special platforms. In addition to this + file, example.c is a good starting point for using the library, as + it is heavily commented and should include everything most people + will need. We assume that libpng is already installed; see the + INSTALL file for instructions on how to install libpng. + . + Libpng was written as a companion to the PNG specification, as a way + of reducing the amount of time and effort it takes to support the PNG + file format in application programs. The PNG specification is available + as RFC 2083 and as a + W3C Recommendation . Some + additional chunks are described in the special-purpose public chunks + documents at . Other information + about PNG, and the latest version of libpng, can be found at the PNG home + page, . +Section: Programming + +Format: text +Files: /usr/share/doc/libpng16-16t64/libpng-manual.txt.gz diff --git a/libpng16-16t64.docs b/libpng16-16t64.docs new file mode 100644 index 0000000..aa382c1 --- /dev/null +++ b/libpng16-16t64.docs @@ -0,0 +1,5 @@ +README +TODO +ANNOUNCE +#KNOWNBUG +libpng-manual.txt diff --git a/libpng16-16t64.install b/libpng16-16t64.install new file mode 100644 index 0000000..8d9226f --- /dev/null +++ b/libpng16-16t64.install @@ -0,0 +1 @@ +usr/lib/*/libpng16.so.* diff --git a/libpng16-16t64.lintian-overrides b/libpng16-16t64.lintian-overrides new file mode 100644 index 0000000..244d289 --- /dev/null +++ b/libpng16-16t64.lintian-overrides @@ -0,0 +1 @@ +libpng16-16t64: package-name-doesnt-match-sonames libpng16-16 diff --git a/libpng16-16t64.symbols b/libpng16-16t64.symbols new file mode 100644 index 0000000..c37b2fe --- /dev/null +++ b/libpng16-16t64.symbols @@ -0,0 +1,259 @@ +libpng16.so.16 libpng16-16t64 #MINVER# +* Build-Depends-Package: libpng-dev + PNG16_0@PNG16_0 1.6.46 + png_access_version_number@PNG16_0 1.6.46 + png_set_sig_bytes@PNG16_0 1.6.46 + png_sig_cmp@PNG16_0 1.6.46 + png_create_read_struct@PNG16_0 1.6.46 + png_create_write_struct@PNG16_0 1.6.46 + png_get_compression_buffer_size@PNG16_0 1.6.46 + png_set_compression_buffer_size@PNG16_0 1.6.46 + png_set_longjmp_fn@PNG16_0 1.6.46 + png_longjmp@PNG16_0 1.6.46 + png_reset_zstream@PNG16_0 1.6.46 + png_create_read_struct_2@PNG16_0 1.6.46 + png_create_write_struct_2@PNG16_0 1.6.46 + png_write_sig@PNG16_0 1.6.46 + png_write_chunk@PNG16_0 1.6.46 + png_write_chunk_start@PNG16_0 1.6.46 + png_write_chunk_data@PNG16_0 1.6.46 + png_write_chunk_end@PNG16_0 1.6.46 + png_create_info_struct@PNG16_0 1.6.46 + png_info_init_3@PNG16_0 1.6.46 + png_write_info_before_PLTE@PNG16_0 1.6.46 + png_write_info@PNG16_0 1.6.46 + png_read_info@PNG16_0 1.6.46 + png_convert_to_rfc1123@PNG16_0 1.6.46 + png_convert_to_rfc1123_buffer@PNG16_0 1.6.46 + png_convert_from_struct_tm@PNG16_0 1.6.46 + png_convert_from_time_t@PNG16_0 1.6.46 + png_set_expand@PNG16_0 1.6.46 + png_set_expand_gray_1_2_4_to_8@PNG16_0 1.6.46 + png_set_palette_to_rgb@PNG16_0 1.6.46 + png_set_tRNS_to_alpha@PNG16_0 1.6.46 + png_set_expand_16@PNG16_0 1.6.46 + png_set_bgr@PNG16_0 1.6.46 + png_set_gray_to_rgb@PNG16_0 1.6.46 + png_set_rgb_to_gray@PNG16_0 1.6.46 + png_set_rgb_to_gray_fixed@PNG16_0 1.6.46 + png_get_rgb_to_gray_status@PNG16_0 1.6.46 + png_build_grayscale_palette@PNG16_0 1.6.46 + png_set_alpha_mode@PNG16_0 1.6.46 + png_set_alpha_mode_fixed@PNG16_0 1.6.46 + png_set_strip_alpha@PNG16_0 1.6.46 + png_set_swap_alpha@PNG16_0 1.6.46 + png_set_invert_alpha@PNG16_0 1.6.46 + png_set_filler@PNG16_0 1.6.46 + png_set_add_alpha@PNG16_0 1.6.46 + png_set_swap@PNG16_0 1.6.46 + png_set_packing@PNG16_0 1.6.46 + png_set_packswap@PNG16_0 1.6.46 + png_set_shift@PNG16_0 1.6.46 + png_set_interlace_handling@PNG16_0 1.6.46 + png_set_invert_mono@PNG16_0 1.6.46 + png_set_background@PNG16_0 1.6.46 + png_set_background_fixed@PNG16_0 1.6.46 + png_set_scale_16@PNG16_0 1.6.46 + png_set_strip_16@PNG16_0 1.6.46 + png_set_quantize@PNG16_0 1.6.46 + png_set_gamma@PNG16_0 1.6.46 + png_set_gamma_fixed@PNG16_0 1.6.46 + png_set_flush@PNG16_0 1.6.46 + png_write_flush@PNG16_0 1.6.46 + png_start_read_image@PNG16_0 1.6.46 + png_read_update_info@PNG16_0 1.6.46 + png_read_rows@PNG16_0 1.6.46 + png_read_row@PNG16_0 1.6.46 + png_read_image@PNG16_0 1.6.46 + png_write_row@PNG16_0 1.6.46 + png_write_rows@PNG16_0 1.6.46 + png_write_image@PNG16_0 1.6.46 + png_write_end@PNG16_0 1.6.46 + png_read_end@PNG16_0 1.6.46 + png_destroy_info_struct@PNG16_0 1.6.46 + png_destroy_read_struct@PNG16_0 1.6.46 + png_destroy_write_struct@PNG16_0 1.6.46 + png_set_crc_action@PNG16_0 1.6.46 + png_set_filter@PNG16_0 1.6.46 + png_set_filter_heuristics@PNG16_0 1.6.46 + png_set_filter_heuristics_fixed@PNG16_0 1.6.46 + png_set_compression_level@PNG16_0 1.6.46 + png_set_compression_mem_level@PNG16_0 1.6.46 + png_set_compression_strategy@PNG16_0 1.6.46 + png_set_compression_window_bits@PNG16_0 1.6.46 + png_set_compression_method@PNG16_0 1.6.46 + png_set_text_compression_level@PNG16_0 1.6.46 + png_set_text_compression_mem_level@PNG16_0 1.6.46 + png_set_text_compression_strategy@PNG16_0 1.6.46 + png_set_text_compression_window_bits@PNG16_0 1.6.46 + png_set_text_compression_method@PNG16_0 1.6.46 + png_init_io@PNG16_0 1.6.46 + png_set_error_fn@PNG16_0 1.6.46 + png_get_error_ptr@PNG16_0 1.6.46 + png_set_write_fn@PNG16_0 1.6.46 + png_set_read_fn@PNG16_0 1.6.46 + png_get_io_ptr@PNG16_0 1.6.46 + png_set_read_status_fn@PNG16_0 1.6.46 + png_set_write_status_fn@PNG16_0 1.6.46 + png_set_mem_fn@PNG16_0 1.6.46 + png_get_mem_ptr@PNG16_0 1.6.46 + png_set_read_user_transform_fn@PNG16_0 1.6.46 + png_set_write_user_transform_fn@PNG16_0 1.6.46 + png_set_user_transform_info@PNG16_0 1.6.46 + png_get_user_transform_ptr@PNG16_0 1.6.46 + png_get_current_row_number@PNG16_0 1.6.46 + png_get_current_pass_number@PNG16_0 1.6.46 + png_set_read_user_chunk_fn@PNG16_0 1.6.46 + png_get_user_chunk_ptr@PNG16_0 1.6.46 + png_set_progressive_read_fn@PNG16_0 1.6.46 + png_get_progressive_ptr@PNG16_0 1.6.46 + png_process_data@PNG16_0 1.6.46 + png_process_data_pause@PNG16_0 1.6.46 + png_process_data_skip@PNG16_0 1.6.46 + png_progressive_combine_row@PNG16_0 1.6.46 + png_malloc@PNG16_0 1.6.46 + png_calloc@PNG16_0 1.6.46 + png_malloc_warn@PNG16_0 1.6.46 + png_free@PNG16_0 1.6.46 + png_free_data@PNG16_0 1.6.46 + png_data_freer@PNG16_0 1.6.46 + png_malloc_default@PNG16_0 1.6.46 + png_free_default@PNG16_0 1.6.46 + png_error@PNG16_0 1.6.46 + png_chunk_error@PNG16_0 1.6.46 + png_warning@PNG16_0 1.6.46 + png_chunk_warning@PNG16_0 1.6.46 + png_benign_error@PNG16_0 1.6.46 + png_chunk_benign_error@PNG16_0 1.6.46 + png_set_benign_errors@PNG16_0 1.6.46 + png_get_valid@PNG16_0 1.6.46 + png_get_rowbytes@PNG16_0 1.6.46 + png_get_rows@PNG16_0 1.6.46 + png_set_rows@PNG16_0 1.6.46 + png_get_channels@PNG16_0 1.6.46 + png_get_image_width@PNG16_0 1.6.46 + png_get_image_height@PNG16_0 1.6.46 + png_get_bit_depth@PNG16_0 1.6.46 + png_get_color_type@PNG16_0 1.6.46 + png_get_filter_type@PNG16_0 1.6.46 + png_get_interlace_type@PNG16_0 1.6.46 + png_get_compression_type@PNG16_0 1.6.46 + png_get_pixels_per_meter@PNG16_0 1.6.46 + png_get_x_pixels_per_meter@PNG16_0 1.6.46 + png_get_y_pixels_per_meter@PNG16_0 1.6.46 + png_get_pixel_aspect_ratio@PNG16_0 1.6.46 + png_get_pixel_aspect_ratio_fixed@PNG16_0 1.6.46 + png_get_x_offset_pixels@PNG16_0 1.6.46 + png_get_y_offset_pixels@PNG16_0 1.6.46 + png_get_x_offset_microns@PNG16_0 1.6.46 + png_get_y_offset_microns@PNG16_0 1.6.46 + png_get_signature@PNG16_0 1.6.46 + png_get_bKGD@PNG16_0 1.6.46 + png_set_bKGD@PNG16_0 1.6.46 + png_get_cHRM@PNG16_0 1.6.46 + png_get_cHRM_XYZ@PNG16_0 1.6.46 + png_get_cHRM_fixed@PNG16_0 1.6.46 + png_get_cHRM_XYZ_fixed@PNG16_0 1.6.46 + png_set_cHRM@PNG16_0 1.6.46 + png_set_cHRM_XYZ@PNG16_0 1.6.46 + png_set_cHRM_fixed@PNG16_0 1.6.46 + png_set_cHRM_XYZ_fixed@PNG16_0 1.6.46 + png_get_cICP@PNG16_0 1.6.46 + png_set_cICP@PNG16_0 1.6.46 + png_get_cLLI@PNG16_0 1.6.46 + png_get_cLLI_fixed@PNG16_0 1.6.46 + png_set_cLLI@PNG16_0 1.6.46 + png_set_cLLI_fixed@PNG16_0 1.6.46 + png_get_eXIf@PNG16_0 1.6.46 + png_set_eXIf@PNG16_0 1.6.46 + png_get_eXIf_1@PNG16_0 1.6.46 + png_set_eXIf_1@PNG16_0 1.6.46 + png_get_gAMA@PNG16_0 1.6.46 + png_get_gAMA_fixed@PNG16_0 1.6.46 + png_set_gAMA@PNG16_0 1.6.46 + png_set_gAMA_fixed@PNG16_0 1.6.46 + png_get_hIST@PNG16_0 1.6.46 + png_set_hIST@PNG16_0 1.6.46 + png_get_IHDR@PNG16_0 1.6.46 + png_set_IHDR@PNG16_0 1.6.46 + png_get_mDCV@PNG16_0 1.6.46 + png_get_mDCV_fixed@PNG16_0 1.6.46 + png_set_mDCV@PNG16_0 1.6.46 + png_set_mDCV_fixed@PNG16_0 1.6.46 + png_get_oFFs@PNG16_0 1.6.46 + png_set_oFFs@PNG16_0 1.6.46 + png_get_pCAL@PNG16_0 1.6.46 + png_set_pCAL@PNG16_0 1.6.46 + png_get_pHYs@PNG16_0 1.6.46 + png_set_pHYs@PNG16_0 1.6.46 + png_get_PLTE@PNG16_0 1.6.46 + png_set_PLTE@PNG16_0 1.6.46 + png_get_sBIT@PNG16_0 1.6.46 + png_set_sBIT@PNG16_0 1.6.46 + png_get_sRGB@PNG16_0 1.6.46 + png_set_sRGB@PNG16_0 1.6.46 + png_set_sRGB_gAMA_and_cHRM@PNG16_0 1.6.46 + png_get_iCCP@PNG16_0 1.6.46 + png_set_iCCP@PNG16_0 1.6.46 + png_get_sPLT@PNG16_0 1.6.46 + png_set_sPLT@PNG16_0 1.6.46 + png_get_text@PNG16_0 1.6.46 + png_set_text@PNG16_0 1.6.46 + png_get_tIME@PNG16_0 1.6.46 + png_set_tIME@PNG16_0 1.6.46 + png_get_tRNS@PNG16_0 1.6.46 + png_set_tRNS@PNG16_0 1.6.46 + png_get_sCAL@PNG16_0 1.6.46 + png_get_sCAL_fixed@PNG16_0 1.6.46 + png_get_sCAL_s@PNG16_0 1.6.46 + png_set_sCAL@PNG16_0 1.6.46 + png_set_sCAL_fixed@PNG16_0 1.6.46 + png_set_sCAL_s@PNG16_0 1.6.46 + png_set_keep_unknown_chunks@PNG16_0 1.6.46 + png_handle_as_unknown@PNG16_0 1.6.46 + png_set_unknown_chunks@PNG16_0 1.6.46 + png_set_unknown_chunk_location@PNG16_0 1.6.46 + png_get_unknown_chunks@PNG16_0 1.6.46 + png_set_invalid@PNG16_0 1.6.46 + png_read_png@PNG16_0 1.6.46 + png_write_png@PNG16_0 1.6.46 + png_get_copyright@PNG16_0 1.6.46 + png_get_header_ver@PNG16_0 1.6.46 + png_get_header_version@PNG16_0 1.6.46 + png_get_libpng_ver@PNG16_0 1.6.46 + png_permit_mng_features@PNG16_0 1.6.46 + png_set_user_limits@PNG16_0 1.6.46 + png_get_user_width_max@PNG16_0 1.6.46 + png_get_user_height_max@PNG16_0 1.6.46 + png_set_chunk_cache_max@PNG16_0 1.6.46 + png_get_chunk_cache_max@PNG16_0 1.6.46 + png_set_chunk_malloc_max@PNG16_0 1.6.46 + png_get_chunk_malloc_max@PNG16_0 1.6.46 + png_get_pixels_per_inch@PNG16_0 1.6.46 + png_get_x_pixels_per_inch@PNG16_0 1.6.46 + png_get_y_pixels_per_inch@PNG16_0 1.6.46 + png_get_x_offset_inches@PNG16_0 1.6.46 + png_get_x_offset_inches_fixed@PNG16_0 1.6.46 + png_get_y_offset_inches@PNG16_0 1.6.46 + png_get_y_offset_inches_fixed@PNG16_0 1.6.46 + png_get_pHYs_dpi@PNG16_0 1.6.46 + png_get_io_state@PNG16_0 1.6.46 + png_get_io_chunk_type@PNG16_0 1.6.46 + png_get_uint_32@PNG16_0 1.6.46 + png_get_uint_16@PNG16_0 1.6.46 + png_get_int_32@PNG16_0 1.6.46 + png_get_uint_31@PNG16_0 1.6.46 + png_save_uint_32@PNG16_0 1.6.46 + png_save_int_32@PNG16_0 1.6.46 + png_save_uint_16@PNG16_0 1.6.46 + png_set_check_for_invalid_index@PNG16_0 1.6.46 + png_get_palette_max@PNG16_0 1.6.46 + png_image_begin_read_from_file@PNG16_0 1.6.46 + png_image_begin_read_from_stdio@PNG16_0 1.6.46 + png_image_begin_read_from_memory@PNG16_0 1.6.46 + png_image_finish_read@PNG16_0 1.6.46 + png_image_free@PNG16_0 1.6.46 + png_image_write_to_file@PNG16_0 1.6.46 + png_image_write_to_stdio@PNG16_0 1.6.46 + png_image_write_to_memory@PNG16_0 1.6.46 + png_set_option@PNG16_0 1.6.46 diff --git a/libpng16-config.1 b/libpng16-config.1 new file mode 100644 index 0000000..c988a60 --- /dev/null +++ b/libpng16-config.1 @@ -0,0 +1,58 @@ +.TH libpng16-config 1 "15 Apr 2011" "libpng" "Debian GNU/Linux" +.SH NAME +libpng16-config \- get information about installed libpng library +.SH SYNOPSIS +.B libpng16-config +[\fIOPTION\fR] ... +.SH DESCRIPTION +Provides information about libpng library. + +Known values for OPTION are: +.TP +\fB\-\-prefix\fR +print libpng prefix +.TP +\fB\-\-libdir\fR +print path to directory containing library +.TP +\fB\-\-libs\fR +print library linking information +.TP +\fB\-\-ccopts\fR +print compiler options +.TP +\fB\-\-cppflags\fR +print pre-processor flags +.TP +\fB\-\-cflags\fR +print preprocessor flags, I_opts, and compiler options +.TP +\fB\-\-I_opts\fR +print "-I" include options +.TP +\fB\-\-L_opts\fR +print linker "-L" flags for dynamic linking +.TP +\fB\-\-R_opts\fR +print dynamic linker "-R" or "-rpath" flags +.TP +\fB\-\-ldopts\fR +print linker options +.TP +\fB\-\-ldflags\fR +print linker flags (ldopts, L_opts, R_opts, and libs) +.TP +\fB\-\-static\fR +revise subsequent outputs for static linking +.TP +\fB\-\-help\fR +print this help and exit +.TP +\fB\-\-version\fR +print version information +.SH "AUTHOR" +This manpage has been written by Junichi Uekawa +for Debian GNU/Linux system, with the help of help2man, and +may be used by others. + + diff --git a/libpng16-dev.manpages b/libpng16-dev.manpages new file mode 100644 index 0000000..b6ed626 --- /dev/null +++ b/libpng16-dev.manpages @@ -0,0 +1,2 @@ +libpng.3 +png.5 diff --git a/libpng16-tools.install b/libpng16-tools.install new file mode 100644 index 0000000..4b26ab3 --- /dev/null +++ b/libpng16-tools.install @@ -0,0 +1,2 @@ +usr/bin/png-fix-itxt +usr/bin/pngfix diff --git a/not-installed b/not-installed new file mode 100644 index 0000000..9ab426b --- /dev/null +++ b/not-installed @@ -0,0 +1 @@ +usr/lib/*/libpng*.la diff --git a/patches/libpng-1.6.57-apng.patch b/patches/libpng-1.6.57-apng.patch new file mode 100755 index 0000000..e0b655d --- /dev/null +++ b/patches/libpng-1.6.57-apng.patch @@ -0,0 +1,1743 @@ +diff -Naru libpng-1.6.57.org/png.h libpng-1.6.57/png.h +--- libpng-1.6.57.org/png.h 2026-04-10 15:07:02.634955343 +0900 ++++ libpng-1.6.57/png.h 2026-04-10 15:06:02.232718129 +0900 +@@ -328,6 +328,10 @@ + # include "pnglibconf.h" + #endif + ++#define PNG_APNG_SUPPORTED ++#define PNG_READ_APNG_SUPPORTED ++#define PNG_WRITE_APNG_SUPPORTED ++ + #ifndef PNG_VERSION_INFO_ONLY + /* Machine specific configuration. */ + # include "pngconf.h" +@@ -423,6 +427,17 @@ + * See pngconf.h for base types that vary by machine/system + */ + ++#ifdef PNG_APNG_SUPPORTED ++/* dispose_op flags from inside fcTL */ ++#define PNG_DISPOSE_OP_NONE 0x00U ++#define PNG_DISPOSE_OP_BACKGROUND 0x01U ++#define PNG_DISPOSE_OP_PREVIOUS 0x02U ++ ++/* blend_op flags from inside fcTL */ ++#define PNG_BLEND_OP_SOURCE 0x00U ++#define PNG_BLEND_OP_OVER 0x01U ++#endif /* PNG_APNG_SUPPORTED */ ++ + /* This triggers a compiler error in png.c, if png.c and png.h + * do not agree upon the version number. + */ +@@ -801,6 +816,10 @@ + (png_structp, png_infop)); + typedef PNG_CALLBACK(void, *png_progressive_end_ptr, + (png_structp, png_infop)); ++#ifdef PNG_APNG_SUPPORTED ++typedef PNG_CALLBACK(void, *png_progressive_frame_ptr, ++ (png_structp, png_uint_32)); ++#endif + + /* The following callback receives png_uint_32 row_number, int pass for the + * png_bytep data of the row. When transforming an interlaced image the +@@ -3506,6 +3525,81 @@ + * END OF HARDWARE AND SOFTWARE OPTIONS + ******************************************************************************/ + ++#ifdef PNG_APNG_SUPPORTED ++PNG_EXPORT(260, png_uint_32, png_get_acTL, ++ (png_structp png_ptr, png_infop info_ptr, ++ png_uint_32 *num_frames, png_uint_32 *num_plays)); ++ ++PNG_EXPORT(261, png_uint_32, png_set_acTL, ++ (png_structp png_ptr, png_infop info_ptr, ++ png_uint_32 num_frames, png_uint_32 num_plays)); ++ ++PNG_EXPORT(262, png_uint_32, png_get_num_frames, ++ (png_structp png_ptr, png_infop info_ptr)); ++ ++PNG_EXPORT(263, png_uint_32, png_get_num_plays, ++ (png_structp png_ptr, png_infop info_ptr)); ++ ++PNG_EXPORT(264, png_uint_32, png_get_next_frame_fcTL, ++ (png_structp png_ptr, png_infop info_ptr, ++ png_uint_32 *width, png_uint_32 *height, ++ png_uint_32 *x_offset, png_uint_32 *y_offset, ++ png_uint_16 *delay_num, png_uint_16 *delay_den, ++ png_byte *dispose_op, png_byte *blend_op)); ++ ++PNG_EXPORT(265, png_uint_32, png_set_next_frame_fcTL, ++ (png_structp png_ptr, png_infop info_ptr, ++ png_uint_32 width, png_uint_32 height, ++ png_uint_32 x_offset, png_uint_32 y_offset, ++ png_uint_16 delay_num, png_uint_16 delay_den, ++ png_byte dispose_op, png_byte blend_op)); ++ ++PNG_EXPORT(266, png_uint_32, png_get_next_frame_width, ++ (png_structp png_ptr, png_infop info_ptr)); ++PNG_EXPORT(267, png_uint_32, png_get_next_frame_height, ++ (png_structp png_ptr, png_infop info_ptr)); ++PNG_EXPORT(268, png_uint_32, png_get_next_frame_x_offset, ++ (png_structp png_ptr, png_infop info_ptr)); ++PNG_EXPORT(269, png_uint_32, png_get_next_frame_y_offset, ++ (png_structp png_ptr, png_infop info_ptr)); ++PNG_EXPORT(270, png_uint_16, png_get_next_frame_delay_num, ++ (png_structp png_ptr, png_infop info_ptr)); ++PNG_EXPORT(271, png_uint_16, png_get_next_frame_delay_den, ++ (png_structp png_ptr, png_infop info_ptr)); ++PNG_EXPORT(272, png_byte, png_get_next_frame_dispose_op, ++ (png_structp png_ptr, png_infop info_ptr)); ++PNG_EXPORT(273, png_byte, png_get_next_frame_blend_op, ++ (png_structp png_ptr, png_infop info_ptr)); ++PNG_EXPORT(274, png_byte, png_get_first_frame_is_hidden, ++ (png_structp png_ptr, png_infop info_ptr)); ++PNG_EXPORT(275, png_uint_32, png_set_first_frame_is_hidden, ++ (png_structp png_ptr, png_infop info_ptr, png_byte is_hidden)); ++ ++#ifdef PNG_READ_APNG_SUPPORTED ++PNG_EXPORT(276, void, png_read_frame_head, ++ (png_structp png_ptr, png_infop info_ptr)); ++#ifdef PNG_PROGRESSIVE_READ_SUPPORTED ++PNG_EXPORT(277, void, png_set_progressive_frame_fn, ++ (png_structp png_ptr, ++ png_progressive_frame_ptr frame_info_fn, ++ png_progressive_frame_ptr frame_end_fn)); ++#endif /* PNG_PROGRESSIVE_READ_SUPPORTED */ ++#endif /* PNG_READ_APNG_SUPPORTED */ ++ ++#ifdef PNG_WRITE_APNG_SUPPORTED ++PNG_EXPORT(278, void, png_write_frame_head, ++ (png_structp png_ptr, png_infop info_ptr, ++ png_bytepp row_pointers, ++ png_uint_32 width, png_uint_32 height, ++ png_uint_32 x_offset, png_uint_32 y_offset, ++ png_uint_16 delay_num, png_uint_16 delay_den, ++ png_byte dispose_op, png_byte blend_op)); ++ ++PNG_EXPORT(279, void, png_write_frame_tail, ++ (png_structp png_ptr, png_infop info_ptr)); ++#endif /* PNG_WRITE_APNG_SUPPORTED */ ++#endif /* PNG_APNG_SUPPORTED */ ++ + /* Maintainer: Put new public prototypes here ^, in libpng.3, in project + * defs, and in scripts/symbols.def. + */ +@@ -3514,7 +3608,11 @@ + * one to use is one more than this.) + */ + #ifdef PNG_EXPORT_LAST_ORDINAL ++#ifdef PNG_APNG_SUPPORTED ++ PNG_EXPORT_LAST_ORDINAL(279); ++#else + PNG_EXPORT_LAST_ORDINAL(259); ++#endif /* PNG_APNG_SUPPORTED */ + #endif + + #ifdef __cplusplus +diff -Naru libpng-1.6.57.org/pngget.c libpng-1.6.57/pngget.c +--- libpng-1.6.57.org/pngget.c 2026-01-15 09:54:33.410881877 +0900 ++++ libpng-1.6.57/pngget.c 2026-04-10 15:06:02.232718129 +0900 +@@ -1366,4 +1366,166 @@ + # endif + #endif + ++#ifdef PNG_APNG_SUPPORTED ++png_uint_32 PNGAPI ++png_get_acTL(png_structp png_ptr, png_infop info_ptr, ++ png_uint_32 *num_frames, png_uint_32 *num_plays) ++{ ++ png_debug1(1, "in %s retrieval function", "acTL"); ++ ++ if (png_ptr != NULL && info_ptr != NULL && ++ (info_ptr->valid & PNG_INFO_acTL) && ++ num_frames != NULL && num_plays != NULL) ++ { ++ *num_frames = info_ptr->num_frames; ++ *num_plays = info_ptr->num_plays; ++ return 1; ++ } ++ ++ return 0; ++} ++ ++png_uint_32 PNGAPI ++png_get_num_frames(png_structp png_ptr, png_infop info_ptr) ++{ ++ png_debug(1, "in png_get_num_frames"); ++ ++ if (png_ptr != NULL && info_ptr != NULL) ++ return info_ptr->num_frames; ++ return 0; ++} ++ ++png_uint_32 PNGAPI ++png_get_num_plays(png_structp png_ptr, png_infop info_ptr) ++{ ++ png_debug(1, "in png_get_num_plays"); ++ ++ if (png_ptr != NULL && info_ptr != NULL) ++ return info_ptr->num_plays; ++ return 0; ++} ++ ++png_uint_32 PNGAPI ++png_get_next_frame_fcTL(png_structp png_ptr, png_infop info_ptr, ++ png_uint_32 *width, png_uint_32 *height, ++ png_uint_32 *x_offset, png_uint_32 *y_offset, ++ png_uint_16 *delay_num, png_uint_16 *delay_den, ++ png_byte *dispose_op, png_byte *blend_op) ++{ ++ png_debug1(1, "in %s retrieval function", "fcTL"); ++ ++ if (png_ptr != NULL && info_ptr != NULL && ++ (info_ptr->valid & PNG_INFO_fcTL) && ++ width != NULL && height != NULL && ++ x_offset != NULL && y_offset != NULL && ++ delay_num != NULL && delay_den != NULL && ++ dispose_op != NULL && blend_op != NULL) ++ { ++ *width = info_ptr->next_frame_width; ++ *height = info_ptr->next_frame_height; ++ *x_offset = info_ptr->next_frame_x_offset; ++ *y_offset = info_ptr->next_frame_y_offset; ++ *delay_num = info_ptr->next_frame_delay_num; ++ *delay_den = info_ptr->next_frame_delay_den; ++ *dispose_op = info_ptr->next_frame_dispose_op; ++ *blend_op = info_ptr->next_frame_blend_op; ++ return 1; ++ } ++ ++ return 0; ++} ++ ++png_uint_32 PNGAPI ++png_get_next_frame_width(png_structp png_ptr, png_infop info_ptr) ++{ ++ png_debug(1, "in png_get_next_frame_width"); ++ ++ if (png_ptr != NULL && info_ptr != NULL) ++ return info_ptr->next_frame_width; ++ return 0; ++} ++ ++png_uint_32 PNGAPI ++png_get_next_frame_height(png_structp png_ptr, png_infop info_ptr) ++{ ++ png_debug(1, "in png_get_next_frame_height"); ++ ++ if (png_ptr != NULL && info_ptr != NULL) ++ return info_ptr->next_frame_height; ++ return 0; ++} ++ ++png_uint_32 PNGAPI ++png_get_next_frame_x_offset(png_structp png_ptr, png_infop info_ptr) ++{ ++ png_debug(1, "in png_get_next_frame_x_offset"); ++ ++ if (png_ptr != NULL && info_ptr != NULL) ++ return info_ptr->next_frame_x_offset; ++ return 0; ++} ++ ++png_uint_32 PNGAPI ++png_get_next_frame_y_offset(png_structp png_ptr, png_infop info_ptr) ++{ ++ png_debug(1, "in png_get_next_frame_y_offset"); ++ ++ if (png_ptr != NULL && info_ptr != NULL) ++ return info_ptr->next_frame_y_offset; ++ return 0; ++} ++ ++png_uint_16 PNGAPI ++png_get_next_frame_delay_num(png_structp png_ptr, png_infop info_ptr) ++{ ++ png_debug(1, "in png_get_next_frame_delay_num"); ++ ++ if (png_ptr != NULL && info_ptr != NULL) ++ return info_ptr->next_frame_delay_num; ++ return 0; ++} ++ ++png_uint_16 PNGAPI ++png_get_next_frame_delay_den(png_structp png_ptr, png_infop info_ptr) ++{ ++ png_debug(1, "in png_get_next_frame_delay_den"); ++ ++ if (png_ptr != NULL && info_ptr != NULL) ++ return info_ptr->next_frame_delay_den; ++ return 0; ++} ++ ++png_byte PNGAPI ++png_get_next_frame_dispose_op(png_structp png_ptr, png_infop info_ptr) ++{ ++ png_debug(1, "in png_get_next_frame_dispose_op"); ++ ++ if (png_ptr != NULL && info_ptr != NULL) ++ return info_ptr->next_frame_dispose_op; ++ return 0; ++} ++ ++png_byte PNGAPI ++png_get_next_frame_blend_op(png_structp png_ptr, png_infop info_ptr) ++{ ++ png_debug(1, "in png_get_next_frame_blend_op"); ++ ++ if (png_ptr != NULL && info_ptr != NULL) ++ return info_ptr->next_frame_blend_op; ++ return 0; ++} ++ ++png_byte PNGAPI ++png_get_first_frame_is_hidden(png_structp png_ptr, png_infop info_ptr) ++{ ++ png_debug(1, "in png_first_frame_is_hidden"); ++ ++ if (png_ptr != NULL) ++ return (png_byte)(png_ptr->apng_flags & PNG_FIRST_FRAME_HIDDEN); ++ ++ PNG_UNUSED(info_ptr) ++ ++ return 0; ++} ++#endif /* PNG_APNG_SUPPORTED */ + #endif /* READ || WRITE */ +diff -Naru libpng-1.6.57.org/pnginfo.h libpng-1.6.57/pnginfo.h +--- libpng-1.6.57.org/pnginfo.h 2025-05-11 18:44:02.085040902 +0900 ++++ libpng-1.6.57/pnginfo.h 2026-04-10 15:06:02.164717859 +0900 +@@ -259,5 +259,18 @@ + #ifdef PNG_sRGB_SUPPORTED + int rendering_intent; + #endif ++ ++#ifdef PNG_APNG_SUPPORTED ++ png_uint_32 num_frames; /* including default image */ ++ png_uint_32 num_plays; ++ png_uint_32 next_frame_width; ++ png_uint_32 next_frame_height; ++ png_uint_32 next_frame_x_offset; ++ png_uint_32 next_frame_y_offset; ++ png_uint_16 next_frame_delay_num; ++ png_uint_16 next_frame_delay_den; ++ png_byte next_frame_dispose_op; ++ png_byte next_frame_blend_op; ++#endif + }; + #endif /* PNGINFO_H */ +diff -Naru libpng-1.6.57.org/pngpread.c libpng-1.6.57/pngpread.c +--- libpng-1.6.57.org/pngpread.c 2025-07-06 11:06:43.933735454 +0900 ++++ libpng-1.6.57/pngpread.c 2026-04-10 15:06:02.232718129 +0900 +@@ -200,6 +200,105 @@ + + chunk_name = png_ptr->chunk_name; + ++#ifdef PNG_READ_APNG_SUPPORTED ++ if (png_ptr->num_frames_read > 0 && ++ png_ptr->num_frames_read < info_ptr->num_frames) ++ { ++ if (chunk_name == png_IDAT) ++ { ++ /* Discard trailing IDATs for the first frame. */ ++ if (png_ptr->mode & PNG_HAVE_fcTL || png_ptr->num_frames_read > 1) ++ png_error(png_ptr, "Misplaced IDAT in APNG stream"); ++ ++ if (png_ptr->push_length + 4 > png_ptr->buffer_size) ++ { ++ png_push_save_buffer(png_ptr); ++ return; ++ } ++ ++ png_ptr->mode &= ~PNG_HAVE_CHUNK_HEADER; ++ return; ++ } ++ else if (chunk_name == png_fdAT) ++ { ++ if (png_ptr->buffer_size < 4) ++ { ++ png_push_save_buffer(png_ptr); ++ return; ++ } ++ ++ png_ensure_sequence_number(png_ptr, 4); ++ ++ if (!(png_ptr->mode & PNG_HAVE_fcTL)) ++ { ++ /* Discard trailing fdATs for frames other than the first. */ ++ if (png_ptr->num_frames_read < 2) ++ png_error(png_ptr, "Misplaced fdAT in APNG stream"); ++ ++ if (png_ptr->push_length + 4 > png_ptr->buffer_size) ++ { ++ png_push_save_buffer(png_ptr); ++ return; ++ } ++ ++ png_ptr->mode &= ~PNG_HAVE_CHUNK_HEADER; ++ return; ++ } ++ ++ else ++ { ++ /* Frame data follows. */ ++ png_ptr->idat_size = png_ptr->push_length - 4; ++ png_ptr->mode |= PNG_HAVE_IDAT; ++ png_ptr->process_mode = PNG_READ_IDAT_MODE; ++ ++ return; ++ } ++ } ++ ++ else if (chunk_name == png_fcTL) ++ { ++ if (png_ptr->push_length + 4 > png_ptr->buffer_size) ++ { ++ png_push_save_buffer(png_ptr); ++ return; ++ } ++ ++ png_read_reset(png_ptr); ++ png_ptr->mode &= ~PNG_HAVE_fcTL; ++ ++ png_handle_fcTL(png_ptr, info_ptr, png_ptr->push_length); ++ ++ if (!(png_ptr->mode & PNG_HAVE_fcTL)) ++ png_error(png_ptr, "Missing required fcTL chunk in APNG stream"); ++ ++ png_read_reinit(png_ptr, info_ptr); ++ png_progressive_read_reset(png_ptr); ++ ++ if (png_ptr->frame_info_fn != NULL) ++ (*(png_ptr->frame_info_fn))(png_ptr, png_ptr->num_frames_read); ++ ++ png_ptr->mode &= ~PNG_HAVE_CHUNK_HEADER; ++ ++ return; ++ } ++ ++ else ++ { ++ if (png_ptr->push_length + 4 > png_ptr->buffer_size) ++ { ++ png_push_save_buffer(png_ptr); ++ return; ++ } ++ png_warning(png_ptr, "Ignoring unexpected chunk in APNG sequence"); ++ png_ptr->mode &= ~PNG_HAVE_CHUNK_HEADER; ++ return; ++ } ++ ++ return; ++ } ++#endif /* PNG_READ_APNG_SUPPORTED */ ++ + if (chunk_name == png_IDAT) + { + if ((png_ptr->mode & PNG_AFTER_IDAT) != 0) +@@ -268,6 +367,9 @@ + + else if (chunk_name == png_IDAT) + { ++#ifdef PNG_READ_APNG_SUPPORTED ++ png_have_info(png_ptr, info_ptr); ++#endif + png_ptr->idat_size = png_ptr->push_length; + png_ptr->process_mode = PNG_READ_IDAT_MODE; + png_push_have_info(png_ptr, info_ptr); +@@ -278,6 +380,31 @@ + return; + } + ++#ifdef PNG_READ_APNG_SUPPORTED ++ else if (chunk_name == png_acTL) ++ { ++ if (png_ptr->push_length + 4 > png_ptr->buffer_size) ++ { ++ png_push_save_buffer(png_ptr); ++ return; ++ } ++ ++ png_handle_acTL(png_ptr, info_ptr, png_ptr->push_length); ++ } ++ ++ else if (chunk_name == png_fcTL) ++ { ++ if (png_ptr->push_length + 4 > png_ptr->buffer_size) ++ { ++ png_push_save_buffer(png_ptr); ++ return; ++ } ++ ++ png_handle_fcTL(png_ptr, info_ptr, png_ptr->push_length); ++ } ++ ++#endif /* PNG_READ_APNG_SUPPORTED */ ++ + else + { + PNG_PUSH_SAVE_BUFFER_IF_FULL +@@ -409,7 +536,11 @@ + png_byte chunk_tag[4]; + + /* TODO: this code can be commoned up with the same code in push_read */ ++#ifdef PNG_READ_APNG_SUPPORTED ++ PNG_PUSH_SAVE_BUFFER_IF_LT(12) ++#else + PNG_PUSH_SAVE_BUFFER_IF_LT(8) ++#endif + png_push_fill_buffer(png_ptr, chunk_length, 4); + png_ptr->push_length = png_get_uint_31(png_ptr, chunk_length); + png_reset_crc(png_ptr); +@@ -417,17 +548,63 @@ + png_ptr->chunk_name = PNG_CHUNK_FROM_STRING(chunk_tag); + png_ptr->mode |= PNG_HAVE_CHUNK_HEADER; + ++#ifdef PNG_READ_APNG_SUPPORTED ++ if (png_ptr->chunk_name != png_fdAT && png_ptr->num_frames_read > 0) ++ { ++ if (png_ptr->flags & PNG_FLAG_ZSTREAM_ENDED) ++ { ++ png_ptr->process_mode = PNG_READ_CHUNK_MODE; ++ if (png_ptr->frame_end_fn != NULL) ++ (*(png_ptr->frame_end_fn))(png_ptr, png_ptr->num_frames_read); ++ png_ptr->num_frames_read++; ++ return; ++ } ++ else ++ { ++ if (png_ptr->chunk_name == png_IEND) ++ png_error(png_ptr, "Not enough image data"); ++ if (png_ptr->push_length + 4 > png_ptr->buffer_size) ++ { ++ png_push_save_buffer(png_ptr); ++ return; ++ } ++ png_warning(png_ptr, "Ignoring unexpected chunk in APNG sequence"); ++ png_crc_finish(png_ptr, png_ptr->push_length); ++ png_ptr->mode &= ~PNG_HAVE_CHUNK_HEADER; ++ return; ++ } ++ } ++ else ++#endif ++#ifdef PNG_READ_APNG_SUPPORTED ++ if (png_ptr->chunk_name != png_IDAT && png_ptr->num_frames_read == 0) ++#else + if (png_ptr->chunk_name != png_IDAT) ++#endif + { + png_ptr->process_mode = PNG_READ_CHUNK_MODE; + + if ((png_ptr->flags & PNG_FLAG_ZSTREAM_ENDED) == 0) + png_error(png_ptr, "Not enough compressed data"); + ++#ifdef PNG_READ_APNG_SUPPORTED ++ if (png_ptr->frame_end_fn != NULL) ++ (*(png_ptr->frame_end_fn))(png_ptr, png_ptr->num_frames_read); ++ png_ptr->num_frames_read++; ++#endif ++ + return; + } + + png_ptr->idat_size = png_ptr->push_length; ++ ++#ifdef PNG_READ_APNG_SUPPORTED ++ if (png_ptr->num_frames_read > 0) ++ { ++ png_ensure_sequence_number(png_ptr, 4); ++ png_ptr->idat_size -= 4; ++ } ++#endif + } + + if (png_ptr->idat_size != 0 && png_ptr->save_buffer_size != 0) +@@ -501,6 +678,15 @@ + if (!(buffer_length > 0) || buffer == NULL) + png_error(png_ptr, "No IDAT data (internal error)"); + ++#ifdef PNG_READ_APNG_SUPPORTED ++ /* If the app is not APNG-aware, decode only the first frame. */ ++ if (!(png_ptr->apng_flags & PNG_APNG_APP) && png_ptr->num_frames_read > 0) ++ { ++ png_ptr->flags |= PNG_FLAG_ZSTREAM_ENDED; ++ return; ++ } ++#endif ++ + /* This routine must process all the data it has been given + * before returning, calling the row callback as required to + * handle the uncompressed results. +@@ -934,6 +1120,18 @@ + png_set_read_fn(png_ptr, progressive_ptr, png_push_fill_buffer); + } + ++#ifdef PNG_READ_APNG_SUPPORTED ++void PNGAPI ++png_set_progressive_frame_fn(png_structp png_ptr, ++ png_progressive_frame_ptr frame_info_fn, ++ png_progressive_frame_ptr frame_end_fn) ++{ ++ png_ptr->frame_info_fn = frame_info_fn; ++ png_ptr->frame_end_fn = frame_end_fn; ++ png_ptr->apng_flags |= PNG_APNG_APP; ++} ++#endif ++ + png_voidp PNGAPI + png_get_progressive_ptr(png_const_structrp png_ptr) + { +diff -Naru libpng-1.6.57.org/pngpriv.h libpng-1.6.57/pngpriv.h +--- libpng-1.6.57.org/pngpriv.h 2026-03-27 13:32:29.912950199 +0900 ++++ libpng-1.6.57/pngpriv.h 2026-04-10 15:06:02.233718133 +0900 +@@ -653,6 +653,10 @@ + #define PNG_HAVE_CHUNK_AFTER_IDAT 0x2000U /* Have another chunk after IDAT */ + #define PNG_WROTE_eXIf 0x4000U + #define PNG_IS_READ_STRUCT 0x8000U /* Else is a write struct */ ++#ifdef PNG_APNG_SUPPORTED ++#define PNG_HAVE_acTL 0x10000U ++#define PNG_HAVE_fcTL 0x20000U ++#endif + + /* Flags for the transformations the PNG library does on the image data */ + #define PNG_BGR 0x0001U +@@ -917,6 +921,13 @@ + #define png_tRNS PNG_U32(116, 82, 78, 83) + #define png_zTXt PNG_U32(122, 84, 88, 116) + ++#ifdef PNG_APNG_SUPPORTED ++ ++/* For png_struct.apng_flags: */ ++#define PNG_FIRST_FRAME_HIDDEN 0x0001U ++#define PNG_APNG_APP 0x0002U ++#endif ++ + /* The following will work on (signed char*) strings, whereas the get_uint_32 + * macro will fail on top-bit-set values because of the sign extension. + */ +@@ -1880,6 +1891,68 @@ + PNG_EMPTY); + #endif /* PROGRESSIVE_READ */ + ++#ifdef PNG_APNG_SUPPORTED ++PNG_INTERNAL_FUNCTION(void, png_ensure_fcTL_is_valid, ++ (png_structp png_ptr, ++ png_uint_32 width, png_uint_32 height, ++ png_uint_32 x_offset, png_uint_32 y_offset, ++ png_uint_16 delay_num, png_uint_16 delay_den, ++ png_byte dispose_op, png_byte blend_op), ++ PNG_EMPTY); ++ ++#ifdef PNG_READ_APNG_SUPPORTED ++PNG_INTERNAL_FUNCTION(void, png_handle_acTL, ++ (png_structp png_ptr, png_infop info_ptr, png_uint_32 length), ++ PNG_EMPTY); ++PNG_INTERNAL_FUNCTION(void, png_handle_fcTL, ++ (png_structp png_ptr, png_infop info_ptr, png_uint_32 length), ++ PNG_EMPTY); ++PNG_INTERNAL_FUNCTION(void, png_handle_fdAT, ++ (png_structp png_ptr, png_infop info_ptr, png_uint_32 length), ++ PNG_EMPTY); ++PNG_INTERNAL_FUNCTION(void, png_have_info, ++ (png_structp png_ptr, png_infop info_ptr), ++ PNG_EMPTY); ++PNG_INTERNAL_FUNCTION(void, png_ensure_sequence_number, ++ (png_structp png_ptr, png_uint_32 length), ++ PNG_EMPTY); ++PNG_INTERNAL_FUNCTION(void, png_read_reset, ++ (png_structp png_ptr), ++ PNG_EMPTY); ++PNG_INTERNAL_FUNCTION(void, png_read_reinit, ++ (png_structp png_ptr, png_infop info_ptr), ++ PNG_EMPTY); ++#ifdef PNG_PROGRESSIVE_READ_SUPPORTED ++PNG_INTERNAL_FUNCTION(void, png_progressive_read_reset, ++ (png_structp png_ptr), ++ PNG_EMPTY); ++#endif /* PNG_PROGRESSIVE_READ_SUPPORTED */ ++#endif /* PNG_READ_APNG_SUPPORTED */ ++ ++#ifdef PNG_WRITE_APNG_SUPPORTED ++PNG_INTERNAL_FUNCTION(void, png_write_acTL, ++ (png_structp png_ptr, png_uint_32 num_frames, png_uint_32 num_plays), ++ PNG_EMPTY); ++PNG_INTERNAL_FUNCTION(void, png_write_fcTL, ++ (png_structp png_ptr, ++ png_uint_32 width, png_uint_32 height, ++ png_uint_32 x_offset, png_uint_32 y_offset, ++ png_uint_16 delay_num, png_uint_16 delay_den, ++ png_byte dispose_op, png_byte blend_op), ++ PNG_EMPTY); ++PNG_INTERNAL_FUNCTION(void, png_write_fdAT, ++ (png_structp png_ptr, png_const_bytep data, png_size_t length), ++ PNG_EMPTY); ++PNG_INTERNAL_FUNCTION(void, png_write_reset, ++ (png_structp png_ptr), ++ PNG_EMPTY); ++PNG_INTERNAL_FUNCTION(void, png_write_reinit, ++ (png_structp png_ptr, png_infop info_ptr, ++ png_uint_32 width, png_uint_32 height), ++ PNG_EMPTY); ++#endif /* PNG_WRITE_APNG_SUPPORTED */ ++#endif /* PNG_APNG_SUPPORTED */ ++ + #ifdef PNG_iCCP_SUPPORTED + /* Routines for checking parts of an ICC profile. */ + #ifdef PNG_READ_iCCP_SUPPORTED +diff -Naru libpng-1.6.57.org/pngread.c libpng-1.6.57/pngread.c +--- libpng-1.6.57.org/pngread.c 2026-03-27 13:32:29.913950202 +0900 ++++ libpng-1.6.57/pngread.c 2026-04-10 15:06:02.233718133 +0900 +@@ -157,16 +157,95 @@ + + else if (chunk_name == png_IDAT) + { ++#ifdef PNG_READ_APNG_SUPPORTED ++ png_have_info(png_ptr, info_ptr); ++#endif + png_ptr->idat_size = length; + break; + } + ++#ifdef PNG_READ_APNG_SUPPORTED ++ else if (chunk_name == png_acTL) ++ png_handle_acTL(png_ptr, info_ptr, length); ++ ++ else if (chunk_name == png_fcTL) ++ png_handle_fcTL(png_ptr, info_ptr, length); ++ ++ else if (chunk_name == png_fdAT) ++ png_handle_fdAT(png_ptr, info_ptr, length); ++#endif ++ + else + png_handle_chunk(png_ptr, info_ptr, length); + } + } + #endif /* SEQUENTIAL_READ */ + ++#ifdef PNG_READ_APNG_SUPPORTED ++void PNGAPI ++png_read_frame_head(png_structp png_ptr, png_infop info_ptr) ++{ ++ png_byte have_chunk_after_DAT; /* after IDAT or after fdAT */ ++ ++ png_debug(1, "Reading frame head"); ++ ++ if (!(png_ptr->mode & PNG_HAVE_acTL)) ++ png_error(png_ptr, "Cannot read APNG frame: missing acTL"); ++ ++ /* Do nothing for the main IDAT. */ ++ if (png_ptr->num_frames_read == 0) ++ return; ++ ++ png_read_reset(png_ptr); ++ png_ptr->flags &= ~PNG_FLAG_ROW_INIT; ++ png_ptr->mode &= ~PNG_HAVE_fcTL; ++ ++ have_chunk_after_DAT = 0; ++ for (;;) ++ { ++ png_uint_32 length = png_read_chunk_header(png_ptr); ++ ++ if (png_ptr->chunk_name == png_IDAT) ++ { ++ /* Discard trailing IDATs for the first frame. */ ++ if (have_chunk_after_DAT || png_ptr->num_frames_read > 1) ++ png_error(png_ptr, "Misplaced IDAT in APNG stream"); ++ png_crc_finish(png_ptr, length); ++ } ++ else if (png_ptr->chunk_name == png_fcTL) ++ { ++ png_handle_fcTL(png_ptr, info_ptr, length); ++ have_chunk_after_DAT = 1; ++ } ++ else if (png_ptr->chunk_name == png_fdAT) ++ { ++ png_ensure_sequence_number(png_ptr, length); ++ ++ /* Discard trailing fdATs for all frames except the first. */ ++ if (!have_chunk_after_DAT && png_ptr->num_frames_read > 1) ++ { ++ png_crc_finish(png_ptr, length - 4); ++ } ++ else if (png_ptr->mode & PNG_HAVE_fcTL) ++ { ++ png_ptr->idat_size = length - 4; ++ png_ptr->mode |= PNG_HAVE_IDAT; ++ break; ++ } ++ else ++ { ++ png_error(png_ptr, "Misplaced fdAT in APNG stream"); ++ } ++ } ++ else ++ { ++ png_warning(png_ptr, "Ignoring unexpected chunk in APNG sequence"); ++ png_crc_finish(png_ptr, length); ++ } ++ } ++} ++#endif /* PNG_READ_APNG_SUPPORTED */ ++ + /* Optional call to update the users info_ptr structure */ + void PNGAPI + png_read_update_info(png_structrp png_ptr, png_inforp info_ptr) +diff -Naru libpng-1.6.57.org/pngrutil.c libpng-1.6.57/pngrutil.c +--- libpng-1.6.57.org/pngrutil.c 2026-03-27 13:32:29.914950204 +0900 ++++ libpng-1.6.57/pngrutil.c 2026-04-10 15:06:02.234718137 +0900 +@@ -922,6 +922,11 @@ + filter_type = buf[11]; + interlace_type = buf[12]; + ++#ifdef PNG_READ_APNG_SUPPORTED ++ png_ptr->first_frame_width = width; ++ png_ptr->first_frame_height = height; ++#endif ++ + /* Set internal variables */ + png_ptr->width = width; + png_ptr->height = height; +@@ -2706,6 +2711,184 @@ + # define png_handle_iTXt NULL + #endif + ++#ifdef PNG_READ_APNG_SUPPORTED ++void /* PRIVATE */ ++png_handle_acTL(png_structp png_ptr, png_infop info_ptr, png_uint_32 length) ++{ ++ png_byte data[8]; ++ png_uint_32 num_frames; ++ png_uint_32 num_plays; ++ ++ png_debug(1, "in png_handle_acTL"); ++ ++ if (!(png_ptr->mode & PNG_HAVE_IHDR)) ++ { ++ png_error(png_ptr, "Missing IHDR before acTL"); ++ } ++ else if (png_ptr->mode & PNG_HAVE_IDAT) ++ { ++ png_warning(png_ptr, "Ignoring misplaced acTL after IDAT"); ++ png_crc_finish(png_ptr, length); ++ return; ++ } ++ else if (png_ptr->mode & PNG_HAVE_acTL) ++ { ++ png_warning(png_ptr, "Ignoring duplicate acTL"); ++ png_crc_finish(png_ptr, length); ++ return; ++ } ++ else if (length != 8) ++ { ++ png_warning(png_ptr, "Ignoring acTL with incorrect length"); ++ png_crc_finish(png_ptr, length); ++ return; ++ } ++ ++ png_crc_read(png_ptr, data, 8); ++ png_crc_finish(png_ptr, 0); ++ ++ num_frames = png_get_uint_31(png_ptr, data); ++ num_plays = png_get_uint_31(png_ptr, data + 4); ++ ++ /* The set function will do error checking on num_frames. */ ++ if (png_set_acTL(png_ptr, info_ptr, num_frames, num_plays)) ++ png_ptr->mode |= PNG_HAVE_acTL; ++} ++ ++void /* PRIVATE */ ++png_handle_fcTL(png_structp png_ptr, png_infop info_ptr, png_uint_32 length) ++{ ++ png_byte data[22]; ++ png_uint_32 width; ++ png_uint_32 height; ++ png_uint_32 x_offset; ++ png_uint_32 y_offset; ++ png_uint_16 delay_num; ++ png_uint_16 delay_den; ++ png_byte dispose_op; ++ png_byte blend_op; ++ ++ png_debug(1, "in png_handle_fcTL"); ++ ++ png_ensure_sequence_number(png_ptr, length); ++ ++ if (!(png_ptr->mode & PNG_HAVE_IHDR)) ++ { ++ png_error(png_ptr, "Missing IHDR before fcTL"); ++ } ++ else if (png_ptr->mode & PNG_HAVE_IDAT) ++ { ++ /* For any frames other then the first this message may be misleading, ++ * but correct. PNG_HAVE_IDAT is unset before the frame head is read. ++ * I can't think of a better message. ++ */ ++ png_warning(png_ptr, "Ignoring invalid fcTL after IDAT"); ++ png_crc_finish(png_ptr, length-4); ++ return; ++ } ++ else if (png_ptr->mode & PNG_HAVE_fcTL) ++ { ++ png_warning(png_ptr, "Ignoring duplicate fcTL within one frame"); ++ png_crc_finish(png_ptr, length-4); ++ return; ++ } ++ else if (length != 26) ++ { ++ png_warning(png_ptr, "Ignoring fcTL with incorrect length"); ++ png_crc_finish(png_ptr, length-4); ++ return; ++ } ++ ++ png_crc_read(png_ptr, data, 22); ++ png_crc_finish(png_ptr, 0); ++ ++ width = png_get_uint_31(png_ptr, data); ++ height = png_get_uint_31(png_ptr, data + 4); ++ x_offset = png_get_uint_31(png_ptr, data + 8); ++ y_offset = png_get_uint_31(png_ptr, data + 12); ++ delay_num = png_get_uint_16(data + 16); ++ delay_den = png_get_uint_16(data + 18); ++ dispose_op = data[20]; ++ blend_op = data[21]; ++ ++ if (png_ptr->num_frames_read == 0 && (x_offset != 0 || y_offset != 0)) ++ { ++ png_warning(png_ptr, "Ignoring leading fcTL with non-zero frame offset"); ++ return; ++ } ++ ++ if (info_ptr != NULL) ++ { ++ if (png_ptr->num_frames_read == 0 && ++ (width != info_ptr->width || height != info_ptr->height)) ++ { ++ png_warning(png_ptr, ++ "Ignoring leading fcTL with incorrect frame size"); ++ return; ++ } ++ ++ /* The set function will do more error checking. */ ++ png_set_next_frame_fcTL(png_ptr, info_ptr, width, height, ++ x_offset, y_offset, delay_num, delay_den, ++ dispose_op, blend_op); ++ ++ png_read_reinit(png_ptr, info_ptr); ++ ++ png_ptr->mode |= PNG_HAVE_fcTL; ++ } ++} ++ ++void /* PRIVATE */ ++png_have_info(png_structp png_ptr, png_infop info_ptr) ++{ ++ if ((info_ptr->valid & PNG_INFO_acTL) && !(info_ptr->valid & PNG_INFO_fcTL)) ++ { ++ png_ptr->apng_flags |= PNG_FIRST_FRAME_HIDDEN; ++ info_ptr->num_frames++; ++ } ++} ++ ++void /* PRIVATE */ ++png_handle_fdAT(png_structp png_ptr, png_infop info_ptr, png_uint_32 length) ++{ ++ png_ensure_sequence_number(png_ptr, length); ++ ++ /* This function is called only from png_read_end(), png_read_info(), ++ * and png_push_read_chunk(). This means one of the following: ++ * - The user doesn't want to read this frame. ++ * - This is an out-of-place fdAT. ++ * In either case, it is safe to ignore the chunk with a warning. ++ */ ++ png_warning(png_ptr, "Ignoring fdAT chunk"); ++ png_crc_finish(png_ptr, length - 4); ++ PNG_UNUSED(info_ptr) ++} ++ ++void /* PRIVATE */ ++png_ensure_sequence_number(png_structp png_ptr, png_uint_32 length) ++{ ++ png_byte data[4]; ++ png_uint_32 sequence_number; ++ ++ if (length < 4) ++ { ++ /* TODO: Write a more precise message. */ ++ png_error(png_ptr, "Invalid fcTL or fdAT chunk"); ++ } ++ ++ png_crc_read(png_ptr, data, 4); ++ sequence_number = png_get_uint_31(png_ptr, data); ++ ++ if (sequence_number != png_ptr->next_seq_num) ++ { ++ /* TODO: Write a more precise message. */ ++ png_error(png_ptr, "Out-of-order sequence number in fcTL or fdAT"); ++ } ++ ++ png_ptr->next_seq_num++; ++} ++#endif /* PNG_READ_APNG_SUPPORTED */ ++ + #ifdef PNG_READ_UNKNOWN_CHUNKS_SUPPORTED + /* Utility function for png_handle_unknown; set up png_ptr::unknown_chunk */ + static int +@@ -4188,7 +4371,38 @@ + { + uInt avail_in; + png_bytep buffer; ++#ifdef PNG_READ_APNG_SUPPORTED ++ png_uint_32 bytes_to_skip = 0; ++ ++ while (png_ptr->idat_size == 0 || bytes_to_skip != 0) ++ { ++ png_crc_finish(png_ptr, bytes_to_skip); ++ bytes_to_skip = 0; ++ ++ png_ptr->idat_size = png_read_chunk_header(png_ptr); ++ if (png_ptr->num_frames_read == 0) ++ { ++ if (png_ptr->chunk_name != png_IDAT) ++ png_error(png_ptr, "Not enough image data"); ++ } ++ else ++ { ++ if (png_ptr->chunk_name == png_IEND) ++ png_error(png_ptr, "Not enough image data"); ++ if (png_ptr->chunk_name != png_fdAT) ++ { ++ png_warning(png_ptr, ++ "Ignoring unexpected chunk in APNG sequence"); ++ bytes_to_skip = png_ptr->idat_size; ++ continue; ++ } ++ ++ png_ensure_sequence_number(png_ptr, png_ptr->idat_size); + ++ png_ptr->idat_size -= 4; ++ } ++ } ++#else + while (png_ptr->idat_size == 0) + { + png_crc_finish(png_ptr, 0); +@@ -4200,7 +4414,7 @@ + if (png_ptr->chunk_name != png_IDAT) + png_error(png_ptr, "Not enough image data"); + } +- ++#endif /* PNG_READ_APNG_SUPPORTED */ + avail_in = png_ptr->IDAT_read_size; + + if (avail_in > png_chunk_max(png_ptr)) +@@ -4271,6 +4485,9 @@ + + png_ptr->mode |= PNG_AFTER_IDAT; + png_ptr->flags |= PNG_FLAG_ZSTREAM_ENDED; ++#ifdef PNG_READ_APNG_SUPPORTED ++ png_ptr->num_frames_read++; ++#endif + + if (png_ptr->zstream.avail_in > 0 || png_ptr->idat_size > 0) + png_chunk_benign_error(png_ptr, "Extra compressed data"); +@@ -4680,4 +4897,82 @@ + + png_ptr->flags |= PNG_FLAG_ROW_INIT; + } ++ ++#ifdef PNG_READ_APNG_SUPPORTED ++/* This function should be called after the main IDAT sequence has been read ++ * and before a new fdAT is about to be read. It resets some parts of png_ptr ++ * to make them usable by the read functions again. ++ */ ++void /* PRIVATE */ ++png_read_reset(png_structp png_ptr) ++{ ++ png_ptr->mode &= ~PNG_HAVE_IDAT; ++ png_ptr->mode &= ~PNG_AFTER_IDAT; ++ png_ptr->row_number = 0; ++ png_ptr->pass = 0; ++} ++ ++void /* PRIVATE */ ++png_read_reinit(png_structp png_ptr, png_infop info_ptr) ++{ ++ png_ptr->width = info_ptr->next_frame_width; ++ png_ptr->height = info_ptr->next_frame_height; ++ png_ptr->rowbytes = PNG_ROWBYTES(png_ptr->pixel_depth,png_ptr->width); ++ png_ptr->info_rowbytes = PNG_ROWBYTES(info_ptr->pixel_depth, ++ png_ptr->width); ++ if (png_ptr->prev_row) ++ memset(png_ptr->prev_row, 0, png_ptr->rowbytes + 1); ++} ++ ++#ifdef PNG_PROGRESSIVE_READ_SUPPORTED ++/* Same as png_read_reset(), but for the progressive reader. */ ++void /* PRIVATE */ ++png_progressive_read_reset(png_structp png_ptr) ++{ ++#ifdef PNG_READ_INTERLACING_SUPPORTED ++ /* Arrays to facilitate easy interlacing - use pass (0 - 6) as index */ ++ ++ /* Start of interlace block */ ++ const int png_pass_start[] = {0, 4, 0, 2, 0, 1, 0}; ++ ++ /* Offset to next interlace block */ ++ const int png_pass_inc[] = {8, 8, 4, 4, 2, 2, 1}; ++ ++ /* Start of interlace block in the y direction */ ++ const int png_pass_ystart[] = {0, 0, 4, 0, 2, 0, 1}; ++ ++ /* Offset to next interlace block in the y direction */ ++ const int png_pass_yinc[] = {8, 8, 8, 4, 4, 2, 2}; ++ ++ if (png_ptr->interlaced) ++ { ++ if (!(png_ptr->transformations & PNG_INTERLACE)) ++ png_ptr->num_rows = (png_ptr->height + png_pass_yinc[0] - 1 - ++ png_pass_ystart[0]) / ++ png_pass_yinc[0]; ++ else ++ png_ptr->num_rows = png_ptr->height; ++ ++ png_ptr->iwidth = (png_ptr->width + ++ png_pass_inc[png_ptr->pass] - 1 - ++ png_pass_start[png_ptr->pass]) / ++ png_pass_inc[png_ptr->pass]; ++ } ++ else ++#endif /* PNG_READ_INTERLACING_SUPPORTED */ ++ { ++ png_ptr->num_rows = png_ptr->height; ++ png_ptr->iwidth = png_ptr->width; ++ } ++ png_ptr->flags &= ~PNG_FLAG_ZSTREAM_ENDED; ++ if (inflateReset(&(png_ptr->zstream)) != Z_OK) ++ png_error(png_ptr, "inflateReset failed"); ++ png_ptr->zstream.avail_in = 0; ++ png_ptr->zstream.next_in = 0; ++ png_ptr->zstream.next_out = png_ptr->row_buf; ++ png_ptr->zstream.avail_out = ++ (uInt)PNG_ROWBYTES(png_ptr->pixel_depth, png_ptr->iwidth) + 1; ++} ++#endif /* PNG_PROGRESSIVE_READ_SUPPORTED */ ++#endif /* PNG_READ_APNG_SUPPORTED */ + #endif /* READ */ +diff -Naru libpng-1.6.57.org/pngset.c libpng-1.6.57/pngset.c +--- libpng-1.6.57.org/pngset.c 2026-04-10 15:07:02.635955347 +0900 ++++ libpng-1.6.57/pngset.c 2026-04-10 15:06:02.234718137 +0900 +@@ -469,6 +469,13 @@ + info_ptr->pixel_depth = (png_byte)(info_ptr->channels * info_ptr->bit_depth); + + info_ptr->rowbytes = PNG_ROWBYTES(info_ptr->pixel_depth, width); ++ ++#ifdef PNG_APNG_SUPPORTED ++ /* Assume a non-animated PNG in the beginning. This may be overridden after ++ * seeing an acTL chunk later. ++ */ ++ info_ptr->num_frames = 1; ++#endif + } + + #ifdef PNG_oFFs_SUPPORTED +@@ -1378,6 +1385,145 @@ + } + #endif /* sPLT */ + ++#ifdef PNG_APNG_SUPPORTED ++png_uint_32 PNGAPI ++png_set_acTL(png_structp png_ptr, png_infop info_ptr, ++ png_uint_32 num_frames, png_uint_32 num_plays) ++{ ++ png_debug1(1, "in %s storage function", "acTL"); ++ ++ if (png_ptr == NULL || info_ptr == NULL) ++ { ++ png_warning(png_ptr, ++ "Ignoring call to png_set_acTL with NULL libpng object args"); ++ return 0; ++ } ++ if (num_frames == 0) ++ { ++ png_warning(png_ptr, ++ "Ignoring attempt to set acTL with num_frames zero"); ++ return 0; ++ } ++ if (num_frames > PNG_UINT_31_MAX) ++ { ++ png_warning(png_ptr, ++ "Ignoring attempt to set acTL with num_frames > 2^31-1"); ++ return 0; ++ } ++ if (num_plays > PNG_UINT_31_MAX) ++ { ++ png_warning(png_ptr, ++ "Ignoring attempt to set acTL with num_plays > 2^31-1"); ++ return 0; ++ } ++ ++ info_ptr->num_frames = num_frames; ++ info_ptr->num_plays = num_plays; ++ ++ info_ptr->valid |= PNG_INFO_acTL; ++ ++ return 1; ++} ++ ++/* delay_num and delay_den can hold any 16-bit values including zero */ ++png_uint_32 PNGAPI ++png_set_next_frame_fcTL(png_structp png_ptr, png_infop info_ptr, ++ png_uint_32 width, png_uint_32 height, ++ png_uint_32 x_offset, png_uint_32 y_offset, ++ png_uint_16 delay_num, png_uint_16 delay_den, ++ png_byte dispose_op, png_byte blend_op) ++{ ++ png_debug1(1, "in %s storage function", "fcTL"); ++ ++ if (png_ptr == NULL || info_ptr == NULL) ++ { ++ png_warning(png_ptr, ++ "Ignoring call to png_set_fcTL with NULL libpng object args"); ++ return 0; ++ } ++ ++ png_ensure_fcTL_is_valid(png_ptr, width, height, x_offset, y_offset, ++ delay_num, delay_den, dispose_op, blend_op); ++ ++ /* No checking is required for delay_num and delay_den. ++ * They can hold any 16-bit value, including zero. ++ */ ++ ++ if (blend_op == PNG_BLEND_OP_OVER) ++ { ++ if (!(png_ptr->color_type & PNG_COLOR_MASK_ALPHA) && ++ !(png_get_valid(png_ptr, info_ptr, PNG_INFO_tRNS))) ++ { ++ png_warning(png_ptr, ++ "Ignoring wasteful fcTL BLEND_OP_OVER in opaque images"); ++ blend_op = PNG_BLEND_OP_SOURCE; ++ } ++ } ++ ++ info_ptr->next_frame_width = width; ++ info_ptr->next_frame_height = height; ++ info_ptr->next_frame_x_offset = x_offset; ++ info_ptr->next_frame_y_offset = y_offset; ++ info_ptr->next_frame_delay_num = delay_num; ++ info_ptr->next_frame_delay_den = delay_den; ++ info_ptr->next_frame_dispose_op = dispose_op; ++ info_ptr->next_frame_blend_op = blend_op; ++ ++ info_ptr->valid |= PNG_INFO_fcTL; ++ ++ return 1; ++} ++ ++void /* PRIVATE */ ++png_ensure_fcTL_is_valid(png_structp png_ptr, ++ png_uint_32 width, png_uint_32 height, ++ png_uint_32 x_offset, png_uint_32 y_offset, ++ png_uint_16 delay_num, png_uint_16 delay_den, ++ png_byte dispose_op, png_byte blend_op) ++{ ++ if (width == 0 || width > PNG_UINT_31_MAX) ++ png_error(png_ptr, "Invalid frame width in fcTL"); ++ if (height == 0 || height > PNG_UINT_31_MAX) ++ png_error(png_ptr, "Invalid frame height in fcTL"); ++ if (x_offset > PNG_UINT_31_MAX || y_offset > PNG_UINT_31_MAX) ++ png_error(png_ptr, "Invalid frame offset in fcTL"); ++ if (width + x_offset > png_ptr->first_frame_width || ++ height + y_offset > png_ptr->first_frame_height) ++ png_error(png_ptr, "Oversized frame in fcTL"); ++ ++ if (dispose_op != PNG_DISPOSE_OP_NONE && ++ dispose_op != PNG_DISPOSE_OP_BACKGROUND && ++ dispose_op != PNG_DISPOSE_OP_PREVIOUS) ++ png_error(png_ptr, "Invalid dispose_op in fcTL"); ++ ++ if (blend_op != PNG_BLEND_OP_SOURCE && ++ blend_op != PNG_BLEND_OP_OVER) ++ png_error(png_ptr, "Invalid blend_op in fcTL"); ++ ++ PNG_UNUSED(delay_num) ++ PNG_UNUSED(delay_den) ++} ++ ++png_uint_32 PNGAPI ++png_set_first_frame_is_hidden(png_structp png_ptr, png_infop info_ptr, ++ png_byte is_hidden) ++{ ++ png_debug(1, "in png_first_frame_is_hidden"); ++ ++ if (png_ptr == NULL) ++ return 0; ++ ++ if (is_hidden) ++ png_ptr->apng_flags |= PNG_FIRST_FRAME_HIDDEN; ++ else ++ png_ptr->apng_flags &= ~PNG_FIRST_FRAME_HIDDEN; ++ ++ PNG_UNUSED(info_ptr) ++ ++ return 1; ++} ++#endif /* PNG_APNG_SUPPORTED */ ++ + #ifdef PNG_STORE_UNKNOWN_CHUNKS_SUPPORTED + static png_byte + check_location(png_const_structrp png_ptr, int location) +diff -Naru libpng-1.6.57.org/pngstruct.h libpng-1.6.57/pngstruct.h +--- libpng-1.6.57.org/pngstruct.h 2026-03-27 13:32:29.915950206 +0900 ++++ libpng-1.6.57/pngstruct.h 2026-04-10 15:06:02.166717867 +0900 +@@ -391,6 +391,27 @@ + png_byte filter_type; + #endif + ++#ifdef PNG_APNG_SUPPORTED ++ png_uint_32 apng_flags; ++ png_uint_32 next_seq_num; /* next fcTL/fdAT chunk sequence number */ ++ png_uint_32 first_frame_width; ++ png_uint_32 first_frame_height; ++ ++#ifdef PNG_READ_APNG_SUPPORTED ++ png_uint_32 num_frames_read; /* incremented after all image data of */ ++ /* a frame is read */ ++#ifdef PNG_PROGRESSIVE_READ_SUPPORTED ++ png_progressive_frame_ptr frame_info_fn; /* frame info read callback */ ++ png_progressive_frame_ptr frame_end_fn; /* frame data read callback */ ++#endif ++#endif ++ ++#ifdef PNG_WRITE_APNG_SUPPORTED ++ png_uint_32 num_frames_to_write; ++ png_uint_32 num_frames_written; ++#endif ++#endif /* PNG_APNG_SUPPORTED */ ++ + /* New members added in libpng-1.2.0 */ + + /* New members added in libpng-1.0.2 but first enabled by default in 1.2.0 */ +diff -Naru libpng-1.6.57.org/pngtest.c libpng-1.6.57/pngtest.c +--- libpng-1.6.57.org/pngtest.c 2026-04-10 15:07:02.635955347 +0900 ++++ libpng-1.6.57/pngtest.c 2026-04-10 15:06:02.234718137 +0900 +@@ -878,6 +878,10 @@ + int bit_depth, color_type; + user_chunk_info my_user_chunk_data; + int pass, num_passes; ++#ifdef PNG_APNG_SUPPORTED ++ png_uint_32 num_frames; ++ png_uint_32 num_plays; ++#endif + + row_buf = NULL; + error_parameters.file_name = inname; +@@ -1439,6 +1443,22 @@ + } + } + #endif ++ ++#ifdef PNG_APNG_SUPPORTED ++ if (png_get_valid(read_ptr, read_info_ptr, PNG_INFO_acTL)) ++ { ++ if (png_get_acTL(read_ptr, read_info_ptr, &num_frames, &num_plays)) ++ { ++ png_byte is_hidden; ++ pngtest_debug2("Handling acTL chunks (frames %ld, plays %ld)", ++ num_frames, num_plays); ++ png_set_acTL(write_ptr, write_info_ptr, num_frames, num_plays); ++ is_hidden = png_get_first_frame_is_hidden(read_ptr, read_info_ptr); ++ png_set_first_frame_is_hidden(write_ptr, write_info_ptr, is_hidden); ++ } ++ } ++#endif ++ + #ifdef PNG_WRITE_UNKNOWN_CHUNKS_SUPPORTED + { + png_unknown_chunkp unknowns; +@@ -1498,6 +1518,111 @@ + t_misc += (t_stop - t_start); + t_start = t_stop; + #endif ++#ifdef PNG_APNG_SUPPORTED ++ if (png_get_valid(read_ptr, read_info_ptr, PNG_INFO_acTL)) ++ { ++ png_uint_32 frame; ++ for (frame = 0; frame < num_frames; frame++) ++ { ++ png_uint_32 frame_width; ++ png_uint_32 frame_height; ++ png_uint_32 x_offset; ++ png_uint_32 y_offset; ++ png_uint_16 delay_num; ++ png_uint_16 delay_den; ++ png_byte dispose_op; ++ png_byte blend_op; ++ png_read_frame_head(read_ptr, read_info_ptr); ++ if (png_get_valid(read_ptr, read_info_ptr, PNG_INFO_fcTL)) ++ { ++ png_get_next_frame_fcTL(read_ptr, read_info_ptr, ++ &frame_width, &frame_height, ++ &x_offset, &y_offset, ++ &delay_num, &delay_den, ++ &dispose_op, &blend_op); ++ } ++ else ++ { ++ frame_width = width; ++ frame_height = height; ++ x_offset = 0; ++ y_offset = 0; ++ delay_num = 1; ++ delay_den = 1; ++ dispose_op = PNG_DISPOSE_OP_NONE; ++ blend_op = PNG_BLEND_OP_SOURCE; ++ } ++#ifdef PNG_WRITE_APNG_SUPPORTED ++ png_write_frame_head(write_ptr, write_info_ptr, (png_bytepp)&row_buf, ++ frame_width, frame_height, ++ x_offset, y_offset, ++ delay_num, delay_den, ++ dispose_op, blend_op); ++#endif ++ for (pass = 0; pass < num_passes; pass++) ++ { ++# ifdef calc_pass_height ++ png_uint_32 pass_height; ++ ++ if (num_passes == 7) /* interlaced */ ++ { ++ if (PNG_PASS_COLS(frame_width, pass) > 0) ++ pass_height = PNG_PASS_ROWS(frame_height, pass); ++ ++ else ++ pass_height = 0; ++ } ++ ++ else /* not interlaced */ ++ pass_height = frame_height; ++# else ++# define pass_height frame_height ++# endif ++ ++ pngtest_debug1("Writing row data for pass %d", pass); ++ for (y = 0; y < pass_height; y++) ++ { ++#ifndef SINGLE_ROWBUF_ALLOC ++ pngtest_debug2("Allocating row buffer (pass %d, y = %u)...", ++ pass, y); ++ ++ row_buf = (png_bytep)png_malloc(read_ptr, ++ png_get_rowbytes(read_ptr, read_info_ptr)); ++ ++ pngtest_debug2("\t0x%08lx (%lu bytes)", (unsigned long)row_buf, ++ (unsigned long)png_get_rowbytes(read_ptr, read_info_ptr)); ++ ++#endif /* !SINGLE_ROWBUF_ALLOC */ ++ png_read_rows(read_ptr, (png_bytepp)&row_buf, NULL, 1); ++ ++#ifdef PNG_WRITE_SUPPORTED ++#ifdef PNGTEST_TIMING ++ t_stop = (float)clock(); ++ t_decode += (t_stop - t_start); ++ t_start = t_stop; ++#endif ++ png_write_rows(write_ptr, (png_bytepp)&row_buf, 1); ++#ifdef PNGTEST_TIMING ++ t_stop = (float)clock(); ++ t_encode += (t_stop - t_start); ++ t_start = t_stop; ++#endif ++#endif /* PNG_WRITE_SUPPORTED */ ++ ++#ifndef SINGLE_ROWBUF_ALLOC ++ pngtest_debug2("Freeing row buffer (pass %d, y = %u)", pass, y); ++ png_free(read_ptr, row_buf); ++ row_buf = NULL; ++#endif /* !SINGLE_ROWBUF_ALLOC */ ++ } ++ } ++#ifdef PNG_WRITE_APNG_SUPPORTED ++ png_write_frame_tail(write_ptr, write_info_ptr); ++#endif ++ } ++ } ++ else ++#endif + for (pass = 0; pass < num_passes; pass++) + { + # ifdef calc_pass_height +diff -Naru libpng-1.6.57.org/pngwrite.c libpng-1.6.57/pngwrite.c +--- libpng-1.6.57.org/pngwrite.c 2026-03-27 13:32:29.915950206 +0900 ++++ libpng-1.6.57/pngwrite.c 2026-04-10 15:06:02.235718141 +0900 +@@ -127,6 +127,11 @@ + * the application continues writing the PNG. So check the 'invalid' + * flag here too. + */ ++#ifdef PNG_WRITE_APNG_SUPPORTED ++ if ((info_ptr->valid & PNG_INFO_acTL) != 0) ++ png_write_acTL(png_ptr, info_ptr->num_frames, info_ptr->num_plays); ++#endif ++ + #ifdef PNG_WRITE_UNKNOWN_CHUNKS_SUPPORTED + /* Write unknown chunks first; PNG v3 establishes a precedence order + * for colourspace chunks. It is certain therefore that new +@@ -405,6 +410,11 @@ + png_benign_error(png_ptr, "Wrote palette index exceeding num_palette"); + #endif + ++#ifdef PNG_WRITE_APNG_SUPPORTED ++ if (png_ptr->num_frames_written != png_ptr->num_frames_to_write) ++ png_error(png_ptr, "Not enough frames written"); ++#endif ++ + /* See if user wants us to write information chunks */ + if (info_ptr != NULL) + { +@@ -1527,6 +1537,45 @@ + } + #endif + ++#ifdef PNG_WRITE_APNG_SUPPORTED ++void PNGAPI ++png_write_frame_head(png_structp png_ptr, png_infop info_ptr, ++ png_bytepp row_pointers, ++ png_uint_32 width, png_uint_32 height, ++ png_uint_32 x_offset, png_uint_32 y_offset, ++ png_uint_16 delay_num, png_uint_16 delay_den, ++ png_byte dispose_op, png_byte blend_op) ++{ ++ png_debug(1, "in png_write_frame_head"); ++ ++ /* There is a chance this has been set after png_write_info was called, ++ * so it would be set but not written. Is there a way to be sure? ++ */ ++ if (!(info_ptr->valid & PNG_INFO_acTL)) ++ png_error(png_ptr, "Cannot write APNG frame: missing acTL"); ++ ++ png_write_reset(png_ptr); ++ ++ png_write_reinit(png_ptr, info_ptr, width, height); ++ ++ if (!(png_ptr->num_frames_written == 0 && ++ (png_ptr->apng_flags & PNG_FIRST_FRAME_HIDDEN))) ++ png_write_fcTL(png_ptr, width, height, x_offset, y_offset, ++ delay_num, delay_den, dispose_op, blend_op); ++ ++ PNG_UNUSED(row_pointers) ++} ++ ++void PNGAPI ++png_write_frame_tail(png_structp png_ptr, png_infop info_ptr) ++{ ++ png_debug(1, "in png_write_frame_tail"); ++ ++ png_ptr->num_frames_written++; ++ ++ PNG_UNUSED(info_ptr) ++} ++#endif /* PNG_WRITE_APNG_SUPPORTED */ + + #ifdef PNG_SIMPLIFIED_WRITE_SUPPORTED + /* Initialize the write structure - general purpose utility. */ +diff -Naru libpng-1.6.57.org/pngwutil.c libpng-1.6.57/pngwutil.c +--- libpng-1.6.57.org/pngwutil.c 2026-03-27 13:32:29.916950208 +0900 ++++ libpng-1.6.57/pngwutil.c 2026-04-10 15:06:02.235718141 +0900 +@@ -838,6 +838,11 @@ + /* Write the chunk */ + png_write_complete_chunk(png_ptr, png_IHDR, buf, 13); + ++#ifdef PNG_WRITE_APNG_SUPPORTED ++ png_ptr->first_frame_width = width; ++ png_ptr->first_frame_height = height; ++#endif ++ + if ((png_ptr->do_filter) == PNG_NO_FILTERS) + { + if (png_ptr->color_type == PNG_COLOR_TYPE_PALETTE || +@@ -1004,7 +1009,17 @@ + #endif + + if (size > 0) ++ { ++#ifdef PNG_WRITE_APNG_SUPPORTED ++ if (png_ptr->num_frames_written == 0) ++ png_write_complete_chunk(png_ptr, png_IDAT, data, size); ++ else ++ png_write_fdAT(png_ptr, data, size); ++#else + png_write_complete_chunk(png_ptr, png_IDAT, data, size); ++#endif /* PNG_WRITE_APNG_SUPPORTED */ ++ } ++ + png_ptr->mode |= PNG_HAVE_IDAT; + + png_ptr->zstream.next_out = data; +@@ -1051,7 +1066,17 @@ + #endif + + if (size > 0) ++ { ++#ifdef PNG_WRITE_APNG_SUPPORTED ++ if (png_ptr->num_frames_written == 0) ++ png_write_complete_chunk(png_ptr, png_IDAT, data, size); ++ else ++ png_write_fdAT(png_ptr, data, size); ++#else + png_write_complete_chunk(png_ptr, png_IDAT, data, size); ++#endif /* PNG_WRITE_APNG_SUPPORTED */ ++ } ++ + png_ptr->zstream.avail_out = 0; + png_ptr->zstream.next_out = NULL; + png_ptr->mode |= PNG_HAVE_IDAT | PNG_AFTER_IDAT; +@@ -1924,6 +1949,82 @@ + } + #endif + ++#ifdef PNG_WRITE_APNG_SUPPORTED ++void /* PRIVATE */ ++png_write_acTL(png_structp png_ptr, ++ png_uint_32 num_frames, png_uint_32 num_plays) ++{ ++ png_byte buf[8]; ++ ++ png_debug(1, "in png_write_acTL"); ++ ++ png_ptr->num_frames_to_write = num_frames; ++ ++ if (png_ptr->apng_flags & PNG_FIRST_FRAME_HIDDEN) ++ num_frames--; ++ ++ png_save_uint_32(buf, num_frames); ++ png_save_uint_32(buf + 4, num_plays); ++ ++ png_write_complete_chunk(png_ptr, png_acTL, buf, (png_size_t)8); ++} ++ ++void /* PRIVATE */ ++png_write_fcTL(png_structp png_ptr, ++ png_uint_32 width, png_uint_32 height, ++ png_uint_32 x_offset, png_uint_32 y_offset, ++ png_uint_16 delay_num, png_uint_16 delay_den, ++ png_byte dispose_op, png_byte blend_op) ++{ ++ png_byte buf[26]; ++ ++ png_debug(1, "in png_write_fcTL"); ++ ++ if (png_ptr->num_frames_written == 0 && (x_offset != 0 || y_offset != 0)) ++ png_error(png_ptr, "Non-zero frame offset in leading fcTL"); ++ if (png_ptr->num_frames_written == 0 && ++ (width != png_ptr->first_frame_width || ++ height != png_ptr->first_frame_height)) ++ png_error(png_ptr, "Incorrect frame size in leading fcTL"); ++ ++ /* More error checking. */ ++ png_ensure_fcTL_is_valid(png_ptr, width, height, x_offset, y_offset, ++ delay_num, delay_den, dispose_op, blend_op); ++ ++ png_save_uint_32(buf, png_ptr->next_seq_num); ++ png_save_uint_32(buf + 4, width); ++ png_save_uint_32(buf + 8, height); ++ png_save_uint_32(buf + 12, x_offset); ++ png_save_uint_32(buf + 16, y_offset); ++ png_save_uint_16(buf + 20, delay_num); ++ png_save_uint_16(buf + 22, delay_den); ++ buf[24] = dispose_op; ++ buf[25] = blend_op; ++ ++ png_write_complete_chunk(png_ptr, png_fcTL, buf, (png_size_t)26); ++ ++ png_ptr->next_seq_num++; ++} ++ ++void /* PRIVATE */ ++png_write_fdAT(png_structp png_ptr, ++ png_const_bytep data, png_size_t length) ++{ ++ png_byte buf[4]; ++ ++ png_write_chunk_header(png_ptr, png_fdAT, (png_uint_32)(4 + length)); ++ ++ png_save_uint_32(buf, png_ptr->next_seq_num); ++ png_write_chunk_data(png_ptr, buf, 4); ++ ++ png_write_chunk_data(png_ptr, data, length); ++ ++ png_write_chunk_end(png_ptr); ++ ++ png_ptr->next_seq_num++; ++} ++#endif /* PNG_WRITE_APNG_SUPPORTED */ ++ + /* Initializes the row writing capability of libpng */ + void /* PRIVATE */ + png_write_start_row(png_structrp png_ptr) +@@ -2777,4 +2878,37 @@ + } + #endif /* WRITE_FLUSH */ + } ++ ++#ifdef PNG_WRITE_APNG_SUPPORTED ++void /* PRIVATE */ ++png_write_reset(png_structp png_ptr) ++{ ++ png_ptr->row_number = 0; ++ png_ptr->pass = 0; ++ png_ptr->mode &= ~PNG_HAVE_IDAT; ++} ++ ++void /* PRIVATE */ ++png_write_reinit(png_structp png_ptr, png_infop info_ptr, ++ png_uint_32 width, png_uint_32 height) ++{ ++ if (png_ptr->num_frames_written == 0 && ++ (width != png_ptr->first_frame_width || ++ height != png_ptr->first_frame_height)) ++ png_error(png_ptr, "Incorrect frame size in leading fcTL"); ++ if (width > png_ptr->first_frame_width || ++ height > png_ptr->first_frame_height) ++ png_error(png_ptr, "Oversized frame in fcTL"); ++ ++ png_set_IHDR(png_ptr, info_ptr, width, height, ++ info_ptr->bit_depth, info_ptr->color_type, ++ info_ptr->interlace_type, info_ptr->compression_type, ++ info_ptr->filter_type); ++ ++ png_ptr->width = width; ++ png_ptr->height = height; ++ png_ptr->rowbytes = PNG_ROWBYTES(png_ptr->pixel_depth, width); ++ png_ptr->usr_width = png_ptr->width; ++} ++#endif /* PNG_WRITE_APNG_SUPPORTED */ + #endif /* WRITE */ +diff -Naru libpng-1.6.57.org/scripts/symbols.def libpng-1.6.57/scripts/symbols.def +--- libpng-1.6.57.org/scripts/symbols.def 2025-01-26 08:07:01.594606745 +0900 ++++ libpng-1.6.57/scripts/symbols.def 2026-04-10 15:06:02.167717871 +0900 +@@ -263,3 +263,23 @@ + png_get_mDCV_fixed @257 + png_set_mDCV @258 + png_set_mDCV_fixed @259 ++ png_get_acTL @260 ++ png_set_acTL @261 ++ png_get_num_frames @262 ++ png_get_num_plays @263 ++ png_get_next_frame_fcTL @264 ++ png_set_next_frame_fcTL @265 ++ png_get_next_frame_width @266 ++ png_get_next_frame_height @267 ++ png_get_next_frame_x_offset @268 ++ png_get_next_frame_y_offset @269 ++ png_get_next_frame_delay_num @270 ++ png_get_next_frame_delay_den @271 ++ png_get_next_frame_dispose_op @272 ++ png_get_next_frame_blend_op @273 ++ png_get_first_frame_is_hidden @274 ++ png_set_first_frame_is_hidden @275 ++ png_read_frame_head @276 ++ png_set_progressive_frame_fn @277 ++ png_write_frame_head @278 ++ png_write_frame_tail @279 diff --git a/patches/libpng-config.patch b/patches/libpng-config.patch new file mode 100644 index 0000000..25b177f --- /dev/null +++ b/patches/libpng-config.patch @@ -0,0 +1,61 @@ +Description: this patch is needed to strip arch-dep bits and get a multiarch -dev package. +Index: libpng1.6-1.6.21/scripts/libpng-config-body.in +=================================================================== +--- libpng1.6-1.6.21.orig/scripts/libpng-config-body.in ++++ libpng1.6-1.6.21/scripts/libpng-config-body.in +@@ -6,7 +6,7 @@ + Known values for OPTION are: + + --prefix print libpng prefix +- --libdir print path to directory containing library ++ --libdir print path to directory containing library (disabled in Debian/Ubuntu) + --libs print library linking information + --ccopts print compiler options + --cppflags print pre-processor flags +@@ -57,6 +57,8 @@ + ;; + + --libdir) ++ echo >&1 "$(basename $0): --libdir option is disabled in Debian/Ubuntu" ++ exit 1 + echo ${libdir} + ;; + +Index: libpng1.6-1.6.21/libpng-config.in +=================================================================== +--- libpng1.6-1.6.21.orig/libpng-config.in ++++ libpng1.6-1.6.21/libpng-config.in +@@ -14,12 +14,13 @@ + version="@PNGLIB_VERSION@" + prefix="@prefix@" + exec_prefix="@exec_prefix@" +-libdir="@libdir@" ++# we disable that to make the -dev package Multi-Arch: same ++libdir= + includedir="@includedir@/libpng@PNGLIB_MAJOR@@PNGLIB_MINOR@" + libs="-lpng@PNGLIB_MAJOR@@PNGLIB_MINOR@" + all_libs="-lpng@PNGLIB_MAJOR@@PNGLIB_MINOR@ @LIBS@" + I_opts="-I${includedir}" +-L_opts="-L${libdir}" ++L_opts= + R_opts="" + cppflags="" + ccopts="" +@@ -33,7 +34,7 @@ + Known values for OPTION are: + + --prefix print libpng prefix +- --libdir print path to directory containing library ++ --libdir print path to directory containing library (disabled in Debian/Ubuntu) + --libs print library linking information + --ccopts print compiler options + --cppflags print pre-processor flags +@@ -84,6 +85,8 @@ + ;; + + --libdir) ++ echo >&1 "$(basename $0): --libdir option is disabled in Debian/Ubuntu" ++ exit 1 + echo ${libdir} + ;; + diff --git a/patches/series b/patches/series new file mode 100755 index 0000000..6199ad2 --- /dev/null +++ b/patches/series @@ -0,0 +1,2 @@ +libpng-config.patch +#libpng-1.6.57-apng.patch diff --git a/rules b/rules new file mode 100755 index 0000000..925abc4 --- /dev/null +++ b/rules @@ -0,0 +1,36 @@ +#!/usr/bin/make -f +# -*- makefile -*- + +# Uncomment this to turn on verbose mode. +# export DH_VERBOSE=1 + +export DEB_BUILD_MAINT_OPTIONS := hardening=+all +export DEB_CFLAGS_MAINT_APPEND := $(shell dpkg-buildflags --get CPPFLAGS) +export DEB_CXXFLAGS_MAINT_APPEND := $(shell dpkg-buildflags --get CPPFLAGS) +export DPKG_GENSYMBOLS_CHECK_LEVEL = 4 +CC?=gcc + +%: + dh $@ --buildsystem=cmake + +include /usr/share/dpkg/architecture.mk + +ifneq (,$(filter $(DEB_HOST_ARCH_CPU),powerpc ppc64)) +# VSX is an extension of AltiVec, which is not part of the baseline. +# see https://wiki.debian.org/ArchitectureSpecificsMemo +override_dh_auto_configure: + dh_auto_configure -- -DPNG_POWERPC_VSX=off +endif + +override_dh_auto_test: +ifeq (,$(filter nocheck,$(DEB_BUILD_OPTIONS))) + dh_auto_test +ifeq ($(DEB_BUILD_GNU_TYPE),$(DEB_HOST_GNU_TYPE)) + $(CC) $(CFLAGS) $(CPPFLAGS) -Wall -g -O2 -c -o pngtest.o pngtest.c -I obj-$(DEB_HOST_GNU_TYPE) + $(CC) $(CFLAGS) $(CPPFLAGS) $(LDFLAGS) -o pngtest-static -Wall -g -O2 pngtest.o obj-$(DEB_HOST_GNU_TYPE)/libpng16.a -lz -lm + ./pngtest-static +endif +endif + +override_dh_makeshlibs: + dh_makeshlibs --add-udeb=libpng16-16-udeb -a diff --git a/salsa-ci.yml b/salsa-ci.yml new file mode 100644 index 0000000..8424db4 --- /dev/null +++ b/salsa-ci.yml @@ -0,0 +1,3 @@ +--- +include: + - https://salsa.debian.org/salsa-ci-team/pipeline/raw/master/recipes/debian.yml diff --git a/source/format b/source/format new file mode 100644 index 0000000..163aaf8 --- /dev/null +++ b/source/format @@ -0,0 +1 @@ +3.0 (quilt) diff --git a/upstream/metadata b/upstream/metadata new file mode 100644 index 0000000..1bc9379 --- /dev/null +++ b/upstream/metadata @@ -0,0 +1,4 @@ +Bug-Database: https://github.com/pnggroup/libpng/issues +Bug-Submit: https://github.com/pnggroup/libpng/issues/new +Repository: https://github.com/pnggroup/libpng.git +Repository-Browse: https://github.com/pnggroup/libpng diff --git a/watch b/watch new file mode 100644 index 0000000..3c1ed54 --- /dev/null +++ b/watch @@ -0,0 +1,10 @@ +# qa.debian.org runs a redirector which allows a simpler form of URL +# for SourceForge based projects. The format below will automatically +# be rewritten to use the redirector. +#opts=uversionmangle=s/(\d)[_\.\-\+]?((RC|rc|pre|dev|beta|alpha)\d*)$/$1~$2/;s/_/./g;s/^(\S+-x86\.64)/0.0.$1/;s/^(\S+-i586)/0.0.$1/,pgpsigurlmangle=s/$/.asc/ \ +# http://www.libpng.org/pub/png/libpng.html .*/libpng-(\d\S+)\.(?:zip|tgz|tbz|txz|(?:tar\.(?:gz|bz2|xz))) +#http://sf.net/libpng/libpng-(\d\S+)\.(?:zip|tgz|tbz|txz|(?:tar\.(?:gz|bz2|xz))) +# +version=4 +opts=filenamemangle=s/.+\/v?(\d\S+)\.tar\.gz/libpng-$1\.tar\.gz/ \ + https://github.com/pnggroup/libpng/tags .*/v?(\d\S+)\.tar\.gz